막대그래프를 작성하기 위한 기초 작업 (데이터 정리하기)
# 막대그래프를 작성하기 위한 기초 작업
favorite <- c('WINTER', 'SUMMER', 'SPRING', 'SUMMER', 'SUMMER',
'FALL', 'FALL', 'SUMMER', 'SPRING', 'SPRING')
table(favorite)
# table() 함수
# 벡터에 저장된 범주형 데이터에 대해 데이터 값이 종류별로 몇 개인지 계산하는 함수이다.
막대 그래프 작성하기
ds <- table(favorite)
barplot(ds, main='favorite season')
막대그래프의 색 지정하기
barplot(ds, main='favorite season', col='orange')
막대별로 다른 색상 지정하기
barplot(ds, main='favorite season', col=rainbow(4))
barplot(ds, main='favorite season', col=heat.colors(4))
barplot(ds, main='favorite season', col=terrain.colors(4))
barplot(ds, main='favorite season', col=topo.colors(4))
barplot(ds, main='favorite season', col=cm.colors(4))
x축, y축에 설명 붙이기
barplot(ds, main='favorite season', col=cm.colors(4), xlab='계절', ylab='빈도 수')
그래프 막대를 수평 방향으로 출력하기
barplot(ds, main='favorite season', col=cm.colors(4), horiz=TRUE)
# 수평 방향 horiz=TRUE
# 수직 방향 horiz=FALSE
x축 그룹의 이름 바꾸기
# x축 그룹의 이름 바꾸기 (기본)
barplot(ds, main='favorite season', col=cm.colors(4), names=c('FA', 'SP', 'SU', 'WI'))
# x축 그룹의 이름을 수직 방향으로 출력하기
barplot(ds, main='favorite season', col=cm.colors(4), las=2)
las 값 | 설명 |
0 | 축 방향 (기본값) |
1 | 수평 방향 (축 방향과 상관 없음) |
2 | 축을 기준으로 수직 방향 |
3 | 수직 방향 (축 방향과 상관 없음) |
중첩 그룹의 막대 그래프
그룹 안에 또 다른 그룹이 존재하는 경우이다. 아래 경우에서는 연도 내부에 나이가 존재한다.
# 데이터 입력
age.A <- c(13709, 10974, 7979, 5000, 4250)
age.B <- c(17540, 29701, 36209, 33947, 24487)
age.C <- c(991, 2195, 5366, 12980, 19007)
ds <- rbind(age.A, age.B, age.C)
ds
colnames(ds) <- c('1970', '1990', '2010', '2030', '2050')
ds
# 그래프 작성
barplot(ds, main='인구 추정')
barplot(ds, main='인구 추정', col=rainbow(3))
barplot(ds, main='인구 추정', col=rainbow(3), beside=TRUE)
barplot(ds, main='인구 추정', col=rainbow(3), beside=TRUE, legend.text=T)
barplot(ds, main='인구 추정', col=rainbow(3), beside=TRUE, legend.text=T,
args.legend=list(x='topright', bty='n', inset=c(-0.25, 0)))
par(mflow=c(1, 1), mar=c(5,5,5,7))
barplot(ds, main='인구 추정', col=rainbow(3), beside=TRUE,
legend.text=c('0~14세', '15~64세', '65세 이상'))
옵션 | 기능 |
beside | 기본값은 FALSE, TRUE로 지정하면 막대를 각각 표시한다. |
legend.text | 범례에 표시할 내용을 지정한다. |
args.legend | 여러 개의 사항을 list() 함수로 묶어서 지정할 수 있게 한다. |
x='topright' | 범례를 출력할 위치를 지정한다. |
bty='n' | 'o' 는 테두리선을 표시하고, 'n' 은 테두리선을 표시하지 않는다. |
inset=c(-0.25,0) | 범례를 x축과 y축 방향으로 얼마나 이동시킬지를 지정한다. -1~1 사이의 값을 지정한다. (%를 의미한다.) |
par() | 그래프를 표시할 창에 대해 설정하는 역할을 한다. |
mfrow=c(1, 1) | 그래프를 출력할 창을 어떻게 분할할지를 지정하는데, 여기서 c(1, 1)은 창을 분할하지 않음을 의미한다. |
mar=c(5,5,5,7) | margin 지정. c(bottom, left, top, right) 순서이다. |
'Data Science > R' 카테고리의 다른 글
[R 시각화] 다중그래프 그리기 (0) | 2021.10.04 |
---|---|
[R 시각화] 히스토그램 그리기 (0) | 2021.10.04 |
[R 문법] which() 함수 (0) | 2021.10.04 |
[R 문법] 사용자 정의 함수에서 여러 개의 값을 반환하는 경우 (0) | 2021.10.04 |
[R 문법] apply( ) 함수 (0) | 2021.10.04 |