2020.02.07 2강 : R에서 시각화만으로 데이터 분석하기

2020.02.07 2강 : R에서 시각화만으로 데이터 분석하기

2.1 R에서 데이터 분석하기


2.1.0 gglot2 패키지설치 및 라이브러리 실행 

install.packages("ggplot2")
library(ggplot2)



(참고) 지난 주 review : 데이터 읽기

library(readr)
DM <- read_csv("DirectMarketing.csv")
View(DM)


2.1.1 ggplot으로 차트 그리기 

2.1.1.1 ggplot으로 차트그리기 (2차원 x, y)

 
(내장 데이터로 차트 그려보기) / mtcar : 내장데이터

 ggplot(data=mtcars, aes(x=disp, y=mpg)) + geom_point(aes(size=hp, color=wt))


명령문 설명 :
data 부분 : 사용할 데이터를 불러옵니다. 
ase 부분 :  ase는 “aesthetic(미적)”의 줄임말입니다. x축에 사용할 데이터를 지정하고 y축에 사용할 데이터를 지정합니다

만약에 data와 ase만 입력하면 어떻게 될까요? 
ggplot(data=mtcars, aes(x=disp, y=mpg))  

: 이것만 실행하면 차트가 완전히 그려지지는 않습니다. 
  차트가 생성되는데 표현되는 데이터는 그려지지 않습니다. 



geom_point는 차트에 들어갈 데이터를 시각화하는 명령어입니다. geom은 이 아니라 geometric에서 따온 말입니다여기서는 점 크기는 hp(마력)으로 색깔의 농도는 wt(무게)로 표시하라고 지정했습니다. 아래와 같이 둘다 실행시켜 보았습니다. 차트가 만들어졌죠! 

ggplot(data=mtcars, aes(x=disp, y=mpg)) + geom_point(aes(size=hp, color=wt))




이상을 설명하면 다음과 같습니다.
plot의 경우 색깔과 농도를 가지고 데이터를 시각화할 수 있습니다




2.1.1.2 ggplot으로 차트그리기 (실제 데이터로 실습)

그러면 실습할 데이터(DM)으로 차트를 한번 그려보겠습니다.

ggplot(data=DM, aes(x=Salary, y=AmountSpent)) + geom_point(aes(size=AmountSpent, color=AmountSpent))






2.1.1.3 ggplot으로 차트그리기 (명령어로 변환)

명령어로 지정해서 실행해보기 (ggplot으로 차트그리는 과정을 p라고 했습니다.)

p <- ggplot(data=mtcars, aes(x=disp, y=mpg, size=hp, color=wt)) + geom_point()
p

명령어 "P"치면 차트가 그려집니다.  실행해보시죠!




2.1.1.4 ggplot으로 차트그리기 (통계분석 결과 추가하기)

gglot 그래프로 통계학적 결과를 추가할 수 있습니다. 



이 그래프를 잘 보시면 배기량(disp)이 늘어날수록 연비(mpg)는 줄어드는 경향이 있다고 볼 수 있습니다. 산점도를 그려보는 이유를 다시 생각해 보시길 바랍니다. 


p + stat_smooth(color='black', fill='grey')

color : 추세선의 색깔을 지정합니다 "따옴표"로 색깔을 지정합니다.
fill : 추세선의 boundary를 색깔을 지정합니다. 마찬가지로 "따옴표"로 색깔을 지정합니다.




하나 더! 
위에서 구간을 나눠서 또 그 추세를 볼 수 있습니다.  

p + stat_smooth(color='black', fill='grey') + facet_wrap(~cyl)


이렇게요!


2.1.1.5 ggplot으로 차트그리기 (실제 데이터로 다시 복습)


# 소득(Salary)와 지출액(AmountSpent) 의 상관관계를 보겠습니다. 

pp<-ggplot(data=DM, aes(x=Salary, y=AmountSpent)) + geom_point(aes(size=AmountSpent, color=AmountSpent))




# 소득(Salary)와 지출액(AmountSpent) 의 상관관계를 "자녀 수"에 따라 볼께요.

pp + stat_smooth(color='black', fill='grey')+facet_wrap(~Children)




소득(Salary)와 지출액(AmountSpent) 의 상관관계를 "연령대"에 따라 볼께요.

pp + stat_smooth(color='black', fill='grey')+facet_wrap(~Age)



# 소득(Salary)와 지출액(AmountSpent) 의 상관관계를 "결혼 유무"에 따라 볼께요

pp + stat_smooth(color='black', fill='grey')+facet_wrap(~Married)



# 소득(Salary)와 지출액(AmountSpent) 의 상관관계를 "성별"에 따라 볼께요


pp + stat_smooth(color='black', fill='grey')+facet_wrap(~Gender)







2.1.1.6 ggplot 과제

#1 성별-나이,  성별-자녀수 등 2가지 이상의 카테고리로 변수를 만든 뒤에 이에 
따른 소득(Salary)와 지출액(AmountSpent) 의 상관관계 그려보기

#2 소득(Salary)와 지출액(AmountSpent)을 이용해서 성과측정 변수를 만들어 보고, 
가장 성과가 높은 집단을 만들어보기

(힌드 : 평균소비성향(APC)의 개념을 이용해 볼 것)

댓글