R studios

R통계 : Theme #7. 시각화, 그래프

Frisbeen 2024. 5. 27. 17:02

화면 분할

** keyword는 plot이다.

plot(10:1)
split.screen(c(2,1)) // split display into two screens.
split.screen(c(1,3),screen = 2)

산포도

x,y 그래프 라 생각하면 편하다

x= seq(1,10,0.1)
y=exp(x)

plot(x,y)
plot(x,y, main="Title..", xlabel = "x label",....)
##굳이 숫자가 아니더라도
plot(ToothGrowth $ len, ToothGrowth $dose) 
이렇게 열 자체를 산포도 그래프로 표현하는것도 좋다.

main = “ 제목”

sub = “부제목”

xlab and lab = “xy축 제목설정”

막대그래프

집단간 차이를 표현할때 깡패처럼 쓰인다.

##1. 먼저 벡터 몇개로 행렬들을 만든다.
b_qty= c(1,2,3)
s_qty = c(4,5,6)

type_b = matrix(c(b,s),2,2)

##2. 이를 통해 막대그래프를 제작해준다.
barplot(type_b,main="type ball",beside= TRUE,names.arg = c("baseball","soccerball")
,border = "blue",col = rainbow(9))

**border = 테두리, col = 막대기 색깔 , beside = TRUE > 옆으로 막대를 나란하게.

##3. 범례까지 달아주기
legend(16,400,c("season a","season b"), cex = 0.8,fill= rainbow(5))

점그래프

x= c(1:10)
dotchart(x,label= past("Test",1:10),pch=22)
** label = paste("Test" ,1 :10) > y좌표녀석들, pch- 모양.

선그래프

#1. 벡터들을 만든다
x= c(1,2,3,4,5)
y= x*3;
z= x*4;
plot(x,y, type="o") // 얘가 메인 선 그래프

// 아래 나머지는 추가 옵션
points(x,z,pch="+")
lines(x,z,col "blue")

파이그래프

sales=c(210,110,330,343,25)
pie(sales,init.angle = 90, col= rainboiw(length(pie)), main ="pie"
,labels=c('mon',"tue",....)
legend(1,1,c("mon", "tue" ....) >> 범례

## 3차원 파이그래프
      library(plotrix)
           week = c("Mon", "Tue","Wed","Thur","Fri","Sat","Sun")
           ratio =round(sales/sum(sales)*100,1)
           label = paste(week,"\\n",ratio)
           pie3D(sales,main="3D",col= rainbow(length(sales)),cex=0.7,labels = label)
           #범례 
           legend(-3,1,c("Mon", "Tue","Wed","Thur","Fri","Sat","Sun"),fill= rainbow(length(sales)

상자모양

데이터의 분포를 직사각형 모양의 상자로 표현
a=c(110,300,150,280,310)
b=c(180,300,200,190,170)
c=c(130,234,124,34,59)

boxplot(A,B,C, col=c("yellow","blue","cyan"),names=c("1","2","3") ,horizontal =TRUE)

부가적인 그래프 기능

  • 그림 그렸는데 그림 지울래
plot.new()
  • 현재 그림 유지, 그 위에 그림 그려
par(new=TRUE)
  • 화면에 점을 찍을래
points(x,y,options)