※ 해당 내용은 위의 책을 통해 R을 학습하면서 개인적으로 정리한 내용임을 밝힙니다.

 

[ 사용 Packages = tidyverse ] 

library(tidyverse)

[ 실습용 Data Set = mpg ]

# mpg : 미 환경보호당국이 수집한 38개의 차 모델들에 대한 관측값
mpg

[ 참고 사항 ]

ggplot2는 보통 ggplot(data=<데이터>)에 지옴 함수를 + 하여 작동

  → 즉 그래프 형식을 변경하거나 표현을 추가하고 싶다면 +되는 지옴함수를 바꾸면 됨 

 

기하 그래프 그리기 ( geom_smooth() )

 

지난번 산점도에 이어서 기하 그래프를 그리는 방법을 학습해보자. 산점도로 상관관계 파악이 가능하지만, 평활선을 그려 추세를 볼 수 있다면, 더 효과적인 Data 이해가 가능하다. 이 때는 geom_smooth() 함수를 사용하면 된다.

 

산점도 보다 배기량(displ)과 연비(hwy)의 상관 관계를 선으로 보다 명확히 볼 수 있다.

 

# geom_smooth(), 데이터에 적합한 평활선을 만들어 추세 보여줌
# geom_Point()와 사용 방법은 비슷하다. ( 지옴함수만 바뀜 )
ggplot(data=mpg) + geom_smooth(mapping = aes(x=displ, y=hwy))

 

geom_point()에서는 다양한 방식(색상, 모양, 투명도 등)으로 1개의 변수 안 항목을 그래프 상에서 구분 표현하였다. 이처럼 geom_Smooth()에서는 linetype을 추가하면, 1개의 변수의 Data의 항목을 구분하여 표현이 가능하다.

 

구동방식(drv) 변수를 지정해서 4륜, 전륜, 후륜을 구분해서 평활선을 볼 수 있다.

 

# geom_smooth() + linetype 추가, 지정 Data로 평활선을 구분
ggplot(data=mpg)+geom_smooth(mapping = aes(x=displ, y=hwy, linetype = drv))

 

평활선을 산점도와 같이 보고 싶다면, 지옴 함수를 더 + 해주면 된다.

# ggplot()에 추가 표현하고 싶은 지옴함수를 +로 추가
ggplot(data=mpg)+
  geom_smooth(mapping = aes(x=displ, y=hwy)) +
  geom_point(mapping = aes(x=displ, y=hwy))

위와 같이 지옴 함수마다 x,y에 어떤 변수를 매핑하는지 각각 지정해 줄 수도 있다. 그러나 X,Y 변수가 동일할 땐, 상위

ggplot에 매핑을 지정하여, 전역 처리하면 보다 코드를 간단히 할 수 있다. 

ggplot(data=mpg,mapping = aes(x=displ, y=hwy))+
  geom_smooth()+
  geom_point()

 

<참고> 중복되는 것은 전역처리하고, 지옴 함수 별 심미성을 표현하면 더 깔끔하게 작성 가능하다.

ggplot(data=mpg,mapping = aes(x=displ, y=hwy))+
  geom_smooth(
    data=filter(mpg, class == "subcompact"),
    se = FALSE
  )+
  geom_point(mapping = aes(color=class))

+ Recent posts