R - 통계 언어

R로 데이터 그래프 그려보기 - 산점도, 막대그래프, 선그래프, 박스그래프

티멀 2022. 6. 1. 11:25
728x90
반응형

데이터로 그래프를 그릴 때 아래의 순서를 참고한다.

 

1. 배경설정 - 축

2. 그래프 추가 - 막대, 점, 선 등

3. 설정 추가 - 막대 컬러, 축 범위 설정 등

약간 stack같이 순차적으로 쌓아가는 것이 Flutter의 Stact Widget같이 이해하면 좋을 것 같다.

 

R에서 그래프를 그릴때 2가지 함수를 사용하는데 함수들은 기능이 아래와 같다.

qplot(): 전처리단계, 간단한 문법과 기능을 통한 데이터확인용

ggplot(): 색, 크기, 폰트 등 다양한 기능을 조작 가능한 최종 보고용

 

산점도 만들어보기

#aes로 일단 축을 먼저 설정
#이 코드를 실행하면 배경이 먼저 만들어진다
ggplot(data = mpg, aes(x = displ, y = hwy))

# geom_point를 붙여서 점을 찍는다
# + 기호를 사용해서 옵션을 추가할 수 있다
ggplot(data = mpg, aes(x = displ, y = hwy)) + geom_point()

#xlim = x축의 범위를 설정, 즉 범위를 제한한다.
#3부터 6까지 제한
ggplot(data = mpg, aes(x = displ, y = hwy)) + geom_point() + xlim(3, 6)

 

막대그래프 만들어보기

#필요한 데이터를 group by와 summarise를 통해 전처리 한 후
#아래에서 사용
df_mpg <- mpg %>%
  group_by(drv) %>% 
  summarise(mean_hwy = mean(hwy))
df_mpg

#산점도와 만드는 개념은 같다. geom을 col로 바꿔서 입력하면 끝
ggplot(data = df_mpg, aes(x = drv, y = mean_hwy)) + geom_col()

#x를 내림차순으로 정렬할 때 reorder를 사용하고 기준점에 -를 붙인다.
#오름차순이면 -를 제거한다
ggplot(data = df_mpg, aes(reorder(x = drv, -mean_hwy), y = mean_hwy)) + geom_col()

#막대그래프, 데이터의 빈도수 막대그래프를 만든다
#빈도수 그래프를 그릴때는 geom_bar사용
#y축 지정 불필요
ggplot(data = mpg, aes(x = hwy)) + geom_bar()

 

선그래프 만들어보기

선그래프는 시계열 데이터를 만들 때 주로 사용된다.

용어가 어려워보이지만 주가 데이터 등 시간의 흐름에 따라 변해가는 데이터를 표시할 때 사용된다고 이해하면 된다.

ggplot(data = mpg, aes(x = class)) + geom_bar()
#선그래프, 시계열데이터를 사용해서 그래프를 그린다.
#위의 그래프 그리는 것과 개념은 동일하고 마지막의 그래프 옵션에서 geom_line()으로 변경하여 그린다
ggplot(data = economics, aes(x = date, y = unemploy)) + geom_line()

 

박스그래프만들어보기

집단 간 분포 차이를 표현할 떄 박스플롯을 사용한다.
데이터 분포 차이를 확인하고 중앙값, 4분위수, 극단치를 확인할 때 좋음

만드는 개념은 동일하고 + 옵션에 geom_boxplot()을 대신 넣어준다

ggplot(data = mpg, aes(x = drv, y = hwy)) + geom_boxplot()

 

728x90
반응형