시각화/R

▶R로만드는 데이터시각화 : 데이터멍잉 응용 - 대형마트vs전통시장 시각화

비주얼라이즈 2014. 4. 10. 16:15






R로하는 데이터시각화 -데이터멍잉 응용

전통시장과 대형마트의 육류 가격차이를 살펴보기





지난 포스팅에서 데이터멍잉[data munging]에 대해

살펴보고 기본적인 예제를 살펴보았었는데요~


  [  데이터멍잉의 시작 - tapply, by, aggregate 바로가기  ]  


이번 포스팅에서는 기본예제에서 알아본

함수들을 활용하여 

전통시장과 대형마트의 육류가격 차이를 직접 구해보고자 합니다.^^




<예제에 사용할 데이터>

market_price <- read.csv("http://dl.dropbox.com/u/8686172/requisites.csv", fileEncoding = "euc-kr")[각주:1]

데이터는 지난 포스팅과 동일합니다.





우선은! 모든 품목에대한

 전통매장/대형마트의 평균가격을 구해봅니다.



meat <- ddply(market_price, .(M_TYPE_NAME, A_NAME), summarise, avg = mean(A_PRICE))



ddply함수를 이용했습니다.

결과는 아래의 사진과 같이 모든 품목을 대상으로

전통마트/ 대형마트의 평균가격을 구해줍니다.




그러나 이번 예제의 목표는 고등어가 아니라

'육류'의 가격차이를 살펴보는 것이었지요?



그럼 다시 여기서 육류만 분리를 해야합니다.

여러가지 방법이 있겠지만

avg를 이용하니 쉽게 구할 수 있었습니다.



이해를 돕기위해서 여기까지의 결과를

ggplot으로 출력해보았습니다.


y축의 avg값이 1만원을 초과하는 point가

육류들의 point입니다.





그럼 다시 R로 돌아가서 이 부분만 

따로 살펴보도록 하겠습니다.








meat.dt <- data.table(meat)


먼저, meat을 data.table()에 넣어주었습니다.





그리고,

 avg값이 1만원 이상인 데이터만 호출해줍니다.




meat.dt[avg > 10000]



 이 코드의 결과는 아래 사진과 같습니다.




[avg값 기준, 1만원 이상 가격인 품목만 출력한 결과]


이제 마무리만 남았습니다.^^



avg_meat.dt <- meat.dt[avg > 10000]

ggplot(avg_meat.dt, aes(A_NAME, avg)) + geom_point(aes(colour = M_TYPE_NAME))


첫줄코드로 avg_meat.dt에 분류한 데이터를 담아주었고

ggplot을 이용하여 point 그래프를 그려보았습니다.


x축은 품목의 이름,

y축은 평균 가격(전통시장/대형마트 각각)

point의 색상은 대형마트와 전통마트로 구분지었습니다.





결과는 아래의 사진과 같습니다^^






삼겹살과 쇠고기(등심)의 대형마트 데이터는 없으니

제외하도록하고, 나머지 부분은 일러스트로

마무리를 지어보도록 하겠습니다.^^

















  1. http://freesearch.pe.kr/ [본문으로]