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의 색상은 대형마트와 전통마트로 구분지었습니다.
결과는 아래의 사진과 같습니다^^
삼겹살과 쇠고기(등심)의 대형마트 데이터는 없으니
제외하도록하고, 나머지 부분은 일러스트로
마무리를 지어보도록 하겠습니다.^^
- http://freesearch.pe.kr/ [본문으로]
'시각화 > R' 카테고리의 다른 글
▶R로만드는 데이터시각화 : 기본예제 - Data import (0) | 2014.04.26 |
---|---|
▶R로만드는 데이터시각화 : rMaps를 이용하여 인터랙티브지도 그리기 Leaflet map그리기 (2) | 2014.04.20 |
▶R로만드는 데이터시각화 : 데이터멍잉 기초 - tappy, by, aggregate (0) | 2014.04.10 |
▶R로만드는 데이터시각화 : 기본예제 - 반복구문 repeat, while, for (0) | 2014.04.08 |
▶R로만드는 데이터시각화 : 기본예제 - 데이터다루기 apply, adply (0) | 2014.04.06 |