본문 바로가기
공부/R & Python

4-2 R 그래픽 기초 2 (상자그림, 파이차트)

by 드인 2020. 2. 13.

4-2 R 그래픽 기초 2 (상자그림, 파이차트)


2-1. 상자그림 : boxplot(변수이름, col="green")

par(mfrow=c(1,2))    그래프화면의 분할을 행(row)는 1행으로, 열은 2열로 하라는 의미

boxplot(brain$wt, col=c("coral"))

 

2-2. 그룹별 상자그림 : boxplot(변수이름~그룹이름, colc("col1", "col2")

boxplot(brain$wt~brain$sex, col = c("green", "orange")) 

 

- 상자그림 설명 : 데이터의 분포를 사분위수를 중심으로 설명해주는 그림

2-3. 수평 상자그림 : boxplot(변수이름, col="colname", horizontal=TRUE,)

par(mfrow=c(1,1))
boxplot(brain$wt~brain$sex, boxwex=0.5, horizontal=TRUE, col = c("grey", "red"))

                                                      수평으로 상자그림 그릴 수 있음

 

2-4. 상자그림 : boxplot(변수이름, col="colname", boxwex= )

par(mfrow=c(1,2))
boxplot(brain$wt, boxwex = 0.25, col=c("coral"),  main="Boxplot for all data")
boxplot(brain$wt, boxwex = 0.5, col=c("coral"), main="Boxplot for all data")

boxwex : 그림상자의 폭을 조정

 

2-5. 상자그림에 기술통계치 넣기 : 관측지수(n) 넣기

par(mfrow=c(1,2))
a<-boxplot(brain$wt~brain$sex, col = c("green", "orange"))
text(c(1:nlevels(brain$sex)), a$stats[nrow(a$stats),]+30, paste("n = ",table(brain$sex),sep=""))

                                    글자 위치                                        

 

3. 막대그림

1) autompg(차의 연비) 데이터

- autompg 데이터 (lec3_3.R에서 사용)

car<-read.csv("autompg.csv")
head(car)

attach(car)

 

- barplot(변수빈도, col=c("col1", "col2", ..))     

table(car$cyl)           autompg 데이터의 cylinder 빈도
freq_cyl<-table(cyl)  막대그림을 그리기 위해 우선 table(변수이름)을 이용하여 빈도를 계산
names(freq_cyl) <- c ("3cyl", "4cyl", "5cyl", "6cyl", "8cyl")
barplot(freq_cyl, col = c("lightblue", "mistyrose", "lightcyan", "lavender", "cornsilk"))

 

4. 파이차트

- Pie(변수빈도, labels=c(" ", ..))

freq_cyl<-table(cyl)    파이차트를 그리기 위해 우선 table(변수이름)을 이용하여 빈도 계산
names(freq_cyl) <- c ("3cyl", "4cyl", "5cyl", "6cyl", "8cyl")

pie(freq_cyl)

pie(freq_cyl, labels = c("3cyl", "4cyl", "5cyl", "6cyl","8cyl"), clockwise = TRUE)  시계방향으로 파이차트 그림

 

car1<-subset(car, cyl==4 | cyl==6 | cyl==8)    autompg의 subset (cylinder가 4,6,8인 차종만 분석)의 파이
table(car1$cyl)

 

freq_cyl1<-table(car1$cyl)
pie(freq_cyl1, labels = c("4cyl","6cyl","8cyl"),
    clockwise = TRUE)