데이터 분석/R
[R] 그래프 그리기
eunki
2021. 6. 25. 18:20
728x90
그래프 그리기
library(ggplot2)
geom_point() | 산점도 |
geom_col() | 평균 막대 그래프 |
geom_bar() | 빈도 막대 그래프 |
geom_line() | 선 그래프 |
geom_boxplot() | 상자 그림 |
1. 산점도(Scatter Plot)
데이터를 x축과 y축에 점으로 표현한 그래프로, 변수 간 관계를 표현할 때 사용한다.
x축을 displ, y축을 hwy로 지정하여 배경 생성
ggplot(data = mpg, aes(x = displ, y = hwy))
배경에 산점도 추가
ggplot(data = mpg, aes(x = displ, y = hwy)) + geom_point()
x축 범위 3~6으로 지정
ggplot(data = mpg, aes(x = displ, y = hwy)) + geom_point() + xlim(3, 6)
x축 범위 3~6, y축 범위 10~30으로 지정
ggplot(data = mpg, aes(x = displ, y = hwy)) +
geom_point() +
xlim(3, 6) +
ylim(10, 30)
2. 막대 그래프 (Bar Chart)
데이터의 크기를 막대의 길이로 표현한 그래프로, 집단 간 차이를 표현할 때 사용한다.
2-1. 평균 막대 그래프 생성하기 (geom_col)
평균 막대 그래프는 각 집단의 평균값을 막대 길이로 표현한 그래프이다.
데이터를 요약한 평균표를 먼저 만든 후, 평균표를 이용해 그래프를 생성한다.
집단별 평균표 만들기
df_mpg <- mpg %>%
group_by(drv) %>%
summarise(mean_hwy = mean(hwy))
그래프 그리기
ggplot(data = df_mpg, aes(x = drv, y = mean_hwy)) + geom_col()
크기 순으로 정렬하기
ggplot(data = df_mpg, aes(x = reorder(drv, -mean_hwy), y = mean_hwy)) + geom_col()
색 채우기
ggplot(data = sex_income, aes(x = ageg, y = mean_income, fill = sex)) + geom_col()
position 변경하기 (기본값 : "stack")
ggplot(data = sex_income, aes(x = ageg, y = mean_income, fill = sex)) + geom_col(position = "dodge")
2-2. 빈도 막대 그래프 생성하기 (geom_bar)
빈도 막대 그래프는 값의 개수(빈도)로 막대의 길이를 표현한 그래프이다.
별도로 표를 만들지 않고 원자료를 이용해 바로 그래프를 생성한다.
ggplot(data = mpg, aes(x = drv)) + geom_bar()
3. 선 그래프 (Line Chart)
데이터를 선으로 표현한 그래프로, 시간에 따라 달라지는 데이터를 표현할 때 사용한다.
ggplot(data = economics, aes(x = date, y = unemploy)) + geom_line()
4. 상자 그림 (Box Plot)
데이터의 분포를 직사각형 상자 모양으로 표현한 그래프로, 집단 간 분포 차이를 표현할 때 사용한다.
상자 아래 세로선 | 아래 수염 | 하위 0~25% 내에 해당하는 값 |
상자 밑면 | 1사분위수 (Q1) | 하위 25% 위치 값 |
상자 내 굵은 선 | 2사분위수 (Q2) | 하위 50% 위치 값 (중앙값) |
상자 윗면 | 3사분위수 (Q3) | 하위 75% 위치 값 |
상자 위 세로선 | 윗 수염 | 하위 75~100% 내에 해당하는 값 |
상자 밖 점 표식 | 극단치 | Q1, Q3 밖 1.5 IQR을 벗어난 값 |
IQR | Q1~Q3간 거리 (사분위 범위) |
ggplot(data = mpg, aes(x = drv, y = hwy)) + geom_boxplot()
728x90