boxplot(Petal.Length~Species,
data=iris,
main='품종별 꽃잎의 길이',
col=c('green','yellow','blue'))
# Petal.Length~Species
# 꽃잎의 길이(Petal.Length) 데이터를 품종(Species)별로 나누어서 그리라는 의미이다.
# 반드시 그룹 정보가 저장되어 있는 열 이름이 ~ 뒤에 와야 한다.
# 다음과 같이 작성해도 같은 결과를 얻을 수 있다.
boxplot(iris$Petal.Length~iris$Species,
main='품종별 꽃잎의 길이',
col=c('green','yellow','blue'))
month = 1:12
late = c(5,8,7,9,4,6,12,13,8,6,6,4)
plot(month, late, main='지각생 통계', xlab='Month', ylab='Late cnt',
type='l', lty=1, lwd=1)
# type
# 작성하려는 선그래프의 종류를 지정한다.
# l, b, s, o 가 존재한다.
# lty
# 선의 종류를 지정한다. (1~6)
# lwd
# 선의 굵기를 지정한다.
복수의 선그래프 작성하기
month = 1:12
late1 = c(5,8,7,9,4,6,12,13,8,6,6,4)
late2 = c(4,6,5,8,7,8,10,11,6,5,7,3)
plot(month,
late1,
main='Late Students',
type='b',
lty=1,
col='red',
xlab='Month',
ylab='Late cnt')
lines(month,
late2,
type='b',
col='blue')
# lines() 함수
# plot() 함수로 작성한 그래프 위에 선을 겹쳐서 그리는 역할을 한다.
# 이 함수를 추가할 대마다 선이 하나씩 추가된다.
# 화면 분할(2x2)
par(mfrow=c(2,2), mar=c(3,3,4,2))
# 그래프 1
hist(iris$Sepal.Length)
# 그래프 2
barplot(table(mtcars$cyl))
# 그래프 3
barplot(table(mtcars$gear), horiz=TRUE)
# 그래프 4
pie(table(mtcars$cyl), radius=2)
# 화면 분할 취소
par(mfrow=c(1,1), mar=c(5,4,4,2)+.1)
par() 함수의 경우 한 번 실행되면 R이 종료될 때까지 설정된 값이 유지되므로 더 이상 화면 분할이 필요 없으면 이와 같이 그래프창 설정을 원상태로 돌려놓는 것이 좋다. 화면 분할을 지정하는 mfrow=c(1,1)은 1행1열을 의미하며 결국 전체 윈도우를 하나의 화면으로 만들게 된다.
외관상 막대그래프와 비슷한 그래프로, 그룹이 명시적으로 존재하지 않는 수치형 자료의 분포를 시각화할 때 사용된다. 막대그래프를 그리려면 값의 종류별로 개수를 셀 수 있어야 하는데, 키나 몸무게 등의 수치형 자료는 데이터 내에 값의 종류라는 개념이 없어서 종류별로 개수를 셀 수 없다. 대신에 수치형 자료에서는 값들의 구간을 나누고 구간에 속하는 값들의 개수를 세는 방법을 사용한다. 즉, 구간이 그룹의 역할을 하는 것이다.
# 막대그래프를 작성하기 위한 기초 작업
favorite <- c('WINTER', 'SUMMER', 'SPRING', 'SUMMER', 'SUMMER',
'FALL', 'FALL', 'SUMMER', 'SPRING', 'SPRING')
table(favorite)
# table() 함수
# 벡터에 저장된 범주형 데이터에 대해 데이터 값이 종류별로 몇 개인지 계산하는 함수이다.
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
수직 방향 (축 방향과 상관 없음)
중첩 그룹의 막대 그래프
그룹 안에 또 다른 그룹이 존재하는 경우이다. 아래 경우에서는 연도 내부에 나이가 존재한다.
apply(데이터 셋, 행/열 방향 지정, 적용 함수)
# 데이터 셋
# 반복 작업을 적용할 대상인 매트릭스나 데이터프레임 이름을 입력한다.
# 행/열 방향 지정
# 행 방향 작업의 경우 1, 열 방향 작업의 경우 2를 지정한다.
# 적용 함수
# 반복 작업의 내용을 알려주는 것으로, R 내장 함수이거나 사용자 정의 함수를 의미한다.