시각화/R

▶R로만드는 데이터시각화 :: 기초 - 평행좌표그래프

비주얼라이즈 2014. 3. 11. 23:14


R로 만드는 데이터 시각화 :: 평행좌표그래프



이번 포스팅에서 살펴 볼 것은

[평행좌표그래프] 입니다.


평행좌표그래프? 이름부터 어려운데요~

어떤 그래프를 평행좌표그래프라고 하는지 살펴보겠습니다




구글에서 검색해본 '평행좌표그래프'모습입니다.

대충 감을 잡으셨다면 바로 시작하겠습니다.



오늘 사용하게 될 데이터는

비주얼라이즈디스 서적의 예제에서 사용되는

미국의 교육관련 데이터입니다.


education <- read.csv("http://datasets.flowingdata.com/education.csv", header=TRUE)

이렇게 URL을 통해서 데이터를 불러와 줍니다.





이렇게 데이터가 불러와졌습니다.

데이터를 살펴볼까요?


<Education데이터 살펴보기>1열: 미국의 주 이름

2열 :SAT 읽기 평균점수

3열 :SAT 수학 평균점수

4열 :SAT 쓰기 평균점수

5열: SAT 전체 졸업생 중 SAT응시율

6열: 고교졸업 후 바로 취업하는 학생 비율

7열 : 고등학교에서 중퇴하는 학생비율


이렇게 데이터의 내용을 살펴보았습니다.

본격적으로 [평행 좌표 그래프]를 그려볼까요?


평행좌표그래프를 그리기 위해서는 [lattice]패키지가 필요합니다.

lattice패키지는 R에 기본적으로 내장되어있는 패키지가 아닙니다.

따라서 패키지를 설치하고 library로 불러와줍니다.

관련글: R-studio패키지 설치하기


library(lattice)

패키지를 로드했다면

바로 education에 함수를 적용해줍니다.



parallel(education)




이것이 parallel함수로 만든 education의

평행좌표그래표입니다.


그런데 실행하면서 R-studio내에서 에러메시지가 뜹니다.


이런 메시지인데요


그래서 경고메시지에 적힌대로

parallel함수대신, parallelplot 함수를 써봤더니

경고메시지 없이 잘 실행되었습니다.


자 다시 본론으로 돌아와서,

왠지 그래프를 보기가 쉽지않다는 것을 느끼셨나요?

지금은 세로로 되어있는 그래프를 

가로로 다시 표시하는 과정을 살펴보겠습니다.


parallelplot(education, horizontal.axis=FALSE)


자 그럼 결과를 살펴볼까요?




이런 결과가 나왔습니다.

확실히 아까보다는 읽기가 편한 느낌이네요!


자 여기서 멈추지 않고 조금 더 손을 볼 필요가 있습니다.






보시다시피 state, 다시말해 [미국의 주]를

설정해 두었기 때문에, 불필요하게 복잡한 선들이 생겼습니다.


state열을 제외하고 바로 필요한 정보만을 선택해서

그래프를 그려야 할 것 같습니다.



방법은 간단합니다.


parallelplot(education[,2:7], horizontal.axis=FALSE)


이처럼 education데이터에서 필요한 열만 사용하면 됩니다.

또한 지금은 그래프에 너무 많은 색상이 사용되어있어서

오히려 정보 전달을 방해하고 있습니다.


이 또한 바꿔줍니다.


parallelplot(education[,2:7], horizontal.axis=FALSE, col="#000000")

col= 설정은 이제 익숙하지요?^^



자 이렇게 색상을 없애버린

평행좌표그래프를 완성하였습니다.


혹시 데이터를 시각화화는 과정을 보시면서

눈치 채셨는지도 모르겠지만


높은 SAT 평균점수를 기록할 수록,

percent_graduatees_sat는 낮은 것을 볼 수 있습니다.


이런 특징들을 잘 볼 수 있도록,

다시한번 작업이 필요합니다.


R을 이용하여 보정해 나가는 과정은

R로만드는 평행좌표그래프 #2에서 소개하도록 하겠습니다.



이번 포스팅에서는 여기까지만 먼저 소개하고,

일러스트로 보정을 해보려고합니다.





다음 포스팅도 기대해주세요^^

[ 관련 포스팅 : R로만드는 평행좌표그래프 #2 ]