ggplot2 는 The Grammar of Graphics에 기반하여 그래프를 만드는 시스템이다.
ggplot2에 data를 제공하고, 변수들을 어떻게 매핑할 지, 어떤 방법으로 그래프를 그릴지 설정한다.
ggplot2를 처음 사용할 때 배우기 좋은 사이트
ggplot(data = mpg, aes(x = displ, y = hwy))
그래프 추가하기
산점도(Scater Plot)
geom_point()
축 범위를 조정하는 설정
xlim() , ylim()
막대 그래프(Bar Chart)
집단 간 차이 표현하기
geom_col() : 평균 막대 그래프 막대의 높이가 데이터의 값을 나타내도록 하려면 geom_col()을 사용한다. 데이터를 있는 그대로 남겨둔다.
geom_bar() : 빈도 막대 그래프 x의 위치에 나타나는 각 그룹의 빈도 수를 나타낸다. ( 또는 가중치의 합계)
# "suv" 차종을 대상으로
# 평균 cty 가 가장 높은 회사 다섯 곳을 막대 그래프로 표현
# 막대는 연비가 높은 순으로 정렬
mpg.suv <- mpg[ mpg$class == "suv", c('cty', 'manufacturer', )]
result2 <- aggregate(cty~manufacturer, mpg.suv, mean)
result2 <- head(result2[order(result2$cty, decreasing = T), ], 5)
ggplot(data = result2, aes(x = manufacturer, y = cty)) + geom_col()
# 빈도 막대 그래프는 값의 빈도(개수)로 막대의 길이를 표현한다
# 따라서 y 축 없이 x 축만 지정하고, geom_bar()를 사용하면 된다.
# x 축 변수의 항목별 빈도 막대 그래프가 출력된다
ggplot(data = mpg, aes(x = class)) + geom_bar()
선 그래프(Line Chart)
시간에 따라 달라지는 데이터 표현하기
geom_line()
ggplot(data = mpg, aes(x = displ, y = hwy))
+ geom_point() + geom_line() + ylim(10, 50) + xlim(2, 7)
상자 그림(Box Plot)
집단 간 분포 차이 표현하기
geom_boxplot()
# drv(구동 방식) 별 hwy(고속도로 연비)
ggplot(data = mpg, aes(x = drv, y = hwy, fill = drv)) + geom_boxplot()