참고 : Do it! 쉽게 배우는 R 데이터분석
그래프를 만들 떄 가장 많이 사용하는 패키지는 ggplot2이다
library(ggplot2)
ggplot2 문법 이해하기
배경을 만들고, 그 위에 그래프 형태를 그리고, 마지막으로 축 범위, 색, 표식 등 설정을 추가하는 순서로 그래프를 만든다
추가할 때는 (+) 더하기 연산자를 사용한다
산점도(Scatter plot) - geom_point()
- 연속 값으로 된 두 변수의 관계를 표현할 때 사용
library(ggplot2)
mpg <- as.data.frame(ggplot2::mpg)
ggplot(data = mpg, aes(x = displ, y=hwy))
ggplot만 하면 x축, y축 배경이 그려진다
ggplot(data = mpg, aes(x = displ, y=hwy)) + geom_point()
+ 연산자를 통해 그래프 유형을 지정한다.
산점도는 geom_point()
# x축 범위 3~6, y축 범위 10~30으로 지정
ggplot(data = mpg, aes(x = displ, y = hwy)) +
geom_point() +
xlim(3, 6) +
ylim(10, 30)
xlim(3,6) : x축의 범위를 3~6으로 지정
ylim(10,30) : y축의 범위를 10~30으로 지정
이렇게 지정하면 경고메시지가 뜨는 데, 그건 범위 지정으로 인해 105개의 행이 그래프에 표현되지 않았다는 뜻이다
다른 그래프를 그릴 때도 위 구조에서 그래프의 종류만 바꿔주면 쉽게 그릴 수 있다
이제 다른 그래프도 그려보자!
막대 그래프 - geom_col()
막대 그래프는 데이터의 크기를 막대의 길이로 표현한 그래프이다.
library(dplyr)
mpg <- as.data.frame(ggplot2::mpg)
df_mpg <- mpg %>% group_by(drv) %>%
summarise(mean_hwy = mean(hwy))
mpg 데이터를 가지고 와서, drv(구동방식) 별 평균 hwy(고속도로 연비) 를 구한다
ggplot(data = df_mpg, aes(x=drv, y=mean_hwy)) + geom_col()
geom_col() 를 통해 막대 그래프를 그릴 수 있다
ggplot(data = df_mpg, aes(x=reorder(drv, -mean_hwy), y=mean_hwy)) + geom_col()
reorder()를 통해 x 축 변수와 정렬 기준으로 삼을 변수를 지정할 수 있다
지금은 x 축 변수는 drv, 정렬 기준은 mean_hwy
정렬 기준 변수 앞에 (-) 마이너스 기호를 붙이면 내림차순으로 정렬한다
빈도 막대 그래프 만들기 - geom_bar()
ggplot(data=mpg, aes(x=drv)) + geom_bar()
빈도 막대 그래프를 만들려면 x축만 지정하고 geom_bar()를 사용하면 된다
geom_col vs geom_bar
둘 다 막대 그래프를 그려 주지만, 차이점은 요약표를 이용하는지 원자료를 이용하는지에 따라 사용하는 함수가 다르다
요약표는 geom_col()를 사용, 원자료는 geom_bar()를 사용한다.
• 평균 막대 그래프 : 데이터를 요약한 평균표를 먼저 만든 후 평균표를 이용해 그래프 생성 - geom_col()
• 빈도 막대 그래프 : 별도로 표를 만들지 않고 원자료를 이용해 바로 그래프 생성 - geom_bar()
ggplot() vs qplot()
• qplot() : 전처리 단계 데이터 확인용 문법 간단, 기능 단순
• ggplot() : 최종 보고용. 색, 크기, 폰트 등 세부 조작 가능
'R' 카테고리의 다른 글
R - 그래프 살펴보기(텍스트 마이닝) (0) | 2024.07.29 |
---|---|
R - 그래프 살펴보기(ggplot2 - 선그래프, 상자그림) (1) | 2024.07.27 |
R - 데이터 정체 [결측치, 이상치] (0) | 2024.07.12 |
R - 데이터 추출하기(dplyr : 문제 복습) (0) | 2024.07.11 |
R 내장 함수 - 데이터 추출 (indexing) (0) | 2024.07.10 |