도수분포표 작성
ans=c("Y","Y","N","Y","Y")
table(ans) # 도수분포표 출력
# ans
# N Y
# 1 4
table(ans)/length(ans) # 비율 출력
# ans
# N Y
# 0.2 0.8
도수 분포표는 위와 같은 방식으로 만들 수 있습니다. 단순히 표로 표현하는 것이 편하다면 도수분표표를 만들면 됩니다.
막대그래프 작성
favorite.color <- c("red", "green", "yellow",
"red", "green", "red", "red")
sum <- table(favorite.color) # 도수분포표
sum
# favorite.color
# green red yellow
# 2 4 1
barplot(sum, main="Favorite color")
변수에 색깔과 관련된 자료를 입력합니다. 그리고 sum에 도수 분표표로 데이터를 처리하여 저장합니다. sum을 출력하면 정리된 표를 확인 할 수 있습니다. barplot 함수를 활용하면 아래와 같은 표를 출력할 수 있습니다.
Rstudio 에서 그래프 보기
Rstudio에서 그래프가 오른쪽 하단에 출력됩니다. 더 큰 창에서 확인하기 위해서는 Zoom을 누르면 됩니다. 이미지를 저장하려면 Export를 누르면 됩니다.
막대그래프 사례
head(mtcars) # 자동차 모델별 제원
# mpg cyl disp hp drat wt qsec vs
# Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0
# Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0
# Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1
# Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1
# Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0
# Valiant 18.1 6 225 105 2.76 3.460 20.22 1
# am gear carb
# Mazda RX4 1 4 4
# Mazda RX4 Wag 1 4 4
# Datsun 710 1 4 1
# Hornet 4 Drive 0 3 1
# Hornet Sportabout 0 3 2
# Valiant 0 3 1
carb <- mtcars[,"carb"] # 기화기 수
table(carb) # 도수분포표
# carb
# 1 2 3 4 6 8
# 7 10 3 10 1 1
barplot(table(carb),
main="Barplot of Carburetors",
xlab="#of carburetors",
ylab="frequency")
위 예제는 mtcars의 데이터에서 carb의 데이터를 뽑아냅니다. 그 후 carb를 도수분포표로 바꿔서 막대그래프로 출력합니다. table() 함수는 주어진 자료로 부터 도수 분포표를 그려줍니다. 위 데이터에 따라 출력된 막대 그래프는 아래와 같습니다.
barplot() 매개변수
barplot()의 매개변수는 위와 같습니다. angle, density, col, legend, names, width, space, beside, horiz 등의 매개 변수를 활용해서 원하는 막대그래프를 출력할 수 있습니다.
한 화면에 그래프 여러 개 그리기
par(mfrow=c(1,3)) # 1x3 윈도우 생성
barplot(table(mtcars$carb), # 해당 테이블 생성
main="Barplot of Carburetors", # 제목 입력
xlab="#of carburetors", # x축 이름 입력
ylab="frequency", # y축 이름 입력
col="blue") # 색깔 입력
barplot(table(mtcars$cyl), # 해당 테이블 생성
main="Barplot of Cylender", # 제목 입력
xlab="#of cylender", # x축 이름 입력
ylab="frequency", # y축 이름 입력
col="red") # 색깔 입력
barplot(table(mtcars$gear), # 해당 테이블 생성
main="Barplot of Grar", # 제목 입력
xlab="#of gears", # x축 이름 입력
ylab="frequency", # y축 이름 입력
col="green") # 색깔 입력
창을 여러 열로 분할을 한 뒤에 여러개의 그래프를 출력할 수 있습니다. 위에 나온 예제처럼 분할을 하고 원하는 그래프를 출력하면 됩니다. 출력된 그래프는 아래와 같습니다.
Barplot에 대한 보다 상세한 옵션을 보려면
? barplot
위 명령어를 사용하여 막대그래프에 대한 상세한 옵션들을 확인 할 수 있습니다. 또 저번 포스팅에서 말씀드렸듯이 구글을 활용합니다. 아니면 Rstudio의 help 탭에서 barplot을 검색하시면 됩니다.
원 그래프 작성
par(mfrow=c(1,1))
favorite.color <- c("red", "green", "yellow",
"red", "green", "red", "red")
sum <- table(favorite.color ) # 도수분포표
pie(sum, main="Favorite color")
원 그래프 역시 막대그래프와 유사합니다. pie라는 함수를 활용하시면 됩니다. 위 예제를 통해 아래와 같은 그래프가 출력됩니다.
웹상에 다양한 막대 그래프 예제, 원 그래프 예제, R에서 지원하는 color 이름을 찾아 볼 수 있습니다. 한번씩 확인해 보시기 바랍니다.