SW/R

R : 일변량 질적 자료의 분석 (개념 및 예제)

얇은생각 2019. 2. 9. 12:30
반응형

도수분포표 작성

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 이름을 찾아 볼 수 있습니다. 한번씩 확인해 보시기 바랍니다.

반응형