도매시장 경락 데이터의 이해 - 오이

이번 Post에서 사용하는 데이터는 농림축산식품교육문화정보원에서 수집하여 공공데이터포털을 통해 제공되는 농수축산물 도매시장 상세 경락가격 Open API에서 수집한 데이터로 AWS S3 Agdata Lab 저장소에서 다운로드할 수 있다. 수집 기간은 2015년 1월 1일부터 2018년 7월 26일까지이며 해당기간 전국농산물 공영도매시장에서 거래된 배추 품목의 모든 데이터가 기록되어 있다.

먼저 csv파일을 읽어와서 dat 데이터로 저장하고 측정치 개수를 확인해보면 총 3,261,891개인 것을 알 수 있다. 날짜별 거래건수를 합해서 내림차순으로 정렬하여 상위 거래 건수를 확인해보면 거래가 많을 때는 3,000건 가까이 있었던 것을 확인할 수 있다.

dat <- read.csv('cucumber.csv')
print(paste('number of observation :',nrow(dat)))
## [1] "number of observation : 3261891"
dat %>% group_by(date) %>% tally() %>% arrange(desc(n)) %>% head()
## # A tibble: 6 x 2
##       date     n
##      <int> <int>
## 1 20150103  2999
## 2 20150105  2999
## 3 20150107  2999
## 4 20150109  2999
## 5 20150112  2999
## 6 20150114  2999

다른 품목들과 마찬가지로 필요한 변수들을 생성하여주었다. 그런데 ‘sanji’ 변수에서 광주의 경우 ‘광주 광주 광산구’ 처럼 광주가 두 번 반복되는 데이터가 있어 앞의 광주를 한 번 제거한 뒤 ‘sanji_wide’, ‘sanji_city’, ‘sanji_wide2’ 변수를 생성하였다.

이제 raw 데이터를 가공해보자. 먼저, ’price_per_kg’이 NaN이나 Inf인 경우를 보면 ’prut’이 0인 것을 확인할 수 있다. 해당 데이터들은 분석에 사용할 수 없으므로 삭제해주자. 이제 히스토그램을 그려보면 kg 당 1000만원 가까이하는 어마어마한 오이가 존재하는 것을 볼 수 있다. 다시 kg 당 5000원 이하의 히스토그램을 그려보면 주로 2,000원 이하 가격에서 거래되고 있는 것을 볼 수 있다.

Table 1: price_per_kg이 값을 갖지 않는 데이터
prodname date bidTime aucCodeName market prut insname price qty sanji sanji_wide sanji_city unit shipment grade spename package year month day week wday ym yw p_month ymp weight sales_amt price_per_kg sanji_wide2
오이 20150213 2.01502e+13 경매 광주서부도매 0 호남청과 38000 15 전남 순천시 승주읍 전남 순천시 kg 협동 취청 상자 2015 2 13 7 금요일 201502 201507 2 2015022 0 570000 Inf 전남
오이 20150507 2.01505e+13 경매 광주서부도매 0 두레청과 1500 1 광주 광산구 옥동 광주 광산구 kg 협동 취청 상자 2015 5 7 19 목요일 201505 201519 1 2015051 0 1500 Inf 광주
오이 20150610 2.01506e+13 경매 대전노은도매 0 대전중앙청과 19400 25 충남 연기군 충남 연기군 kg 백다다기 상자 2015 6 10 24 수요일 201506 201524 1 2015061 0 485000 Inf 충남
오이 20150911 2.01509e+13 경매 광주서부도매 0 호남청과 30200 9 강원 횡성군 횡성읍 강원 횡성군 kg 협동 취청 상자 2015 9 11 37 금요일 201509 201537 2 2015092 0 271800 Inf 강원
오이 20160609 2.01606e+13 경매 수원도매시장 0 수원청과 7000 7 NA kg 협동 백다다기 2016 6 9 24 목요일 201606 201624 1 2016061 0 49000 Inf
오이 20161130 2.01611e+13 경매 구리도매시장 0 구리청과 25000 9 충남 논산시 충남 논산시 kg 협동 없음 백다다기 2016 11 30 49 수요일 201611 201649 3 2016113 0 225000 Inf 충남
오이 20161130 2.01611e+13 경매 구리도매시장 0 구리청과 22000 1 충남 논산시 충남 논산시 kg 협동 없음 백다다기 2016 11 30 49 수요일 201611 201649 3 2016113 0 22000 Inf 충남
오이 20170516 2.01705e+13 경매 광주각화도매 0 광주중앙청과 8600 3 전남 순천시 승주읍 전남 순천시 kg 계통 취청 상자 2017 5 16 21 화요일 201705 201721 2 2017052 0 25800 Inf 전남
오이 20180224 2.01802e+13 경매 대전오정도매 0 대전청과 28500 10 충북 보은군 충북 보은군 kg 개별 없음 백다다기 상자 2018 2 24 9 토요일 201802 201809 3 2018023 0 285000 Inf 충북
dat <- dat %>% filter(!prut==0)
gh1 <- ggplot(dat, aes(x = price_per_kg)) + geom_histogram(fill = "red", color = "red", bins = 1000)  
gh2 <- ggplot(dat %>% filter(price_per_kg<=5000), aes(x = price_per_kg)) + geom_histogram(fill = "firebrick2", color = "firebrick2", bins = 1000) 
grid.arrange(gh1, gh2, ncol=1, nrow=2)

이상치를 제거하기 위해 먼저 ‘price_per_kg’이 100원 이하인 경우와 100원 미만인 경우의 히스토그램을 그려보았다. 히스토그램을 살펴보면 100원을 기준으로 그 아래 가격에서의 거래 건수는 미미한 것을 볼 수 있다. 따라서 ’price_per_kg’이 100원 미만인 2,414건을 제외하고 ’dat2’ 데이터를 생성했다.

d1 <- dat %>% filter(price_per_kg<=100)
g1 <- ggplot(d1 %>% arrange(price_per_kg) %>% mutate(SEQ=seq(1,nrow(d1),1))) + geom_line(aes(x=SEQ,y=price_per_kg), linetype='solid', size=0.5, alpha=0.8, color='blue') 
d2 <- d1 %>% filter(price_per_kg<100)
g2 <- ggplot(d2 %>% arrange(price_per_kg) %>% mutate(SEQ=seq(1,nrow(d2),1))) + geom_line(aes(x=SEQ,y=price_per_kg), linetype='solid', size=0.5, alpha=0.8, color='blue') 
subplot(ggplotly(g1),ggplotly(g2), margin = 0.05, nrows=2)
dat2 <- dat %>% filter(price_per_kg>=100)

이제 가격이 지나치게 비싼 경우의 데이터를 살펴보자. 아래의 표는 ‘price_per_kg’ 기준으로 내림차순 데이터 상위 30개를 보여준다. 다른 작물들의 경우에는 대부분 prut이 잘못 입력된 경우를 의심해보았으나, 오이의 경우 prut이 10, 18 등 일반적인 값을 가진다. 단위가 kg이 아니라 ton이었을 경우를 생각해보면 상위 7건 정도를 제외하고는 일반적인 오이 가격 범위에 들어오기는 하나, 함부로 판단할 수 없으므로 일정 가격을 기준으로 데이터를 제외시키기로 한다. ‘price_per_kg’이 5000원을 초과하는 거래 건수는 총 8,836건으로 전체의 약 0.27%를 차지한다. 따라서 5000원 이하인 경우만 포함하여 최종 분석 대상인 ’dat3’ 데이터(3,250,640개)를 생성하였다.

Table 2: kg당 가격 기준 내림차순 데이터 상위 30개
prodname date bidTime aucCodeName market prut insname price qty sanji sanji_wide sanji_city unit shipment grade spename package year month day week wday ym yw p_month ymp weight sales_amt price_per_kg sanji_wide2
오이 20170922 2.01709e+13 경매 청주도매시장 10 청주청과 96006600 3 충북 음성군 음성읍 충북 음성군 kg 협동 4등 취청 상자 2017 9 22 39 금요일 201709 201739 3 2017093 30 288019800 9600660.0 충북
오이 20170825 2.01708e+13 경매 정읍도매시장 10 정일청과 80009000 3 전북 정읍시 수성동 전북 정읍시 kg 개별 없음 취청 상자 2017 8 25 35 금요일 201708 201735 3 2017083 30 240027000 8000900.0 전북
오이 20170612 2.01706e+13 경매 대전오정도매 10 대전청과 80002000 1 충북 보은군 충북 보은군 kg 개별 없음 취청 상자 2017 6 12 25 월요일 201706 201725 2 2017062 10 80002000 8000200.0 충북
오이 20180607 2.01806e+13 경매 천안도매시장 15 천안청과 90007800 7 충남 아산시 권곡동 충남 아산시 kg 협동 없음 백다다기 상자 2018 6 7 24 목요일 201806 201824 1 2018061 105 630054600 6000520.0 충남
오이 20160528 2.01605e+13 경매 천안도매시장 10 천안청과 60004600 1 경기 안성시 미양면 경기 안성시 kg 협동 없음 백다다기 상자 2016 5 28 22 토요일 201605 201622 3 2016053 10 60004600 6000460.0 경기
오이 20170821 2.01708e+13 경매 청주도매시장 10 청주청과 56003600 11 충북 청주시 상당구 금천동 충북 청주시 kg 협동 4등 취청 상자 2017 8 21 35 월요일 201708 201735 3 2017083 110 616039600 5600360.0 충북
오이 20170502 2.01705e+13 경매 광주각화도매 10 광주청과 50012600 14 전남 순천시 승주읍 전남 순천시 kg 계통 취청 상자 2017 5 2 19 화요일 201705 201719 1 2017051 140 700176400 5001260.0 전남
오이 20170408 2.01704e+13 경매 광주각화도매 10 광주청과 50012200 2 전남 순천시 승주읍 전남 순천시 kg 계통 보통 취청 상자 2017 4 8 15 토요일 201704 201715 1 2017041 20 100024400 5001220.0 전남
오이 20170916 2.01709e+13 경매 청주도매시장 10 청주청과 43004000 1 충북 음성군 음성읍 충북 음성군 kg 협동 보통 취청 상자 2017 9 16 38 토요일 201709 201738 2 2017092 10 43004000 4300400.0 충북
오이 20180721 2.01807e+13 경매 청주도매시장 18 청주청과 60014600 4 충남 천안시 구룡동 충남 천안시 kg 계통 백다다기 상자 2018 7 21 30 토요일 201807 201830 3 2018073 72 240058400 3334144.4 충남
오이 20160525 2.01605e+13 경매 천안도매시장 18 천안청과 60010600 8 경기 안성시 가사동 경기 안성시 kg 협동 없음 백다다기 상자 2016 5 25 22 수요일 201605 201622 3 2016053 144 480084800 3333922.2 경기
오이 20180510 2.01805e+13 경매 천안도매시장 18 천안청과 50011000 1 충남 천안시 성환읍 충남 천안시 kg 협동 없음 백다다기 상자 2018 5 10 20 목요일 201805 201820 1 2018051 18 50011000 2778388.9 충남
오이 20150212 2.01502e+13 경매 부산반여도매 10 동부청과 25888875 34 경남 창녕군 창녕읍 경남 창녕군 kg 개별 가시오이 상자 2015 2 12 7 목요일 201502 201507 2 2015022 340 880221750 2588887.5 경남
오이 20170609 2.01706e+13 경매 광주각화도매 5 광주청과 10010000 1 전남 순천시 승주읍 전남 순천시 kg 계통 취청 상자 2017 6 9 24 금요일 201706 201724 1 2017061 5 10010000 2002000.0 전남
오이 20161219 2.01612e+13 경매 광주각화도매 10 광주청과 20011200 2 전남 순천시 승주읍 전남 순천시 kg 계통 4등 취청 상자 2016 12 19 52 월요일 201612 201652 2 2016122 20 40022400 2001120.0 전남
오이 20180713 2.01807e+13 경매 광주각화도매 10 광주청과 17718800 5 강원 화천군 화천읍 강원 화천군 kg 계통 취청 상자 2018 7 13 29 금요일 201807 201829 2 2018072 50 88594000 1771880.0 강원
오이 20180709 2.01807e+13 경매 청주도매시장 18 청주청과 30014500 7 충북 보은군 보은읍 충북 보은군 kg 협동 백다다기 상자 2018 7 9 29 월요일 201807 201829 1 2018071 126 210101500 1667472.2 충북
오이 20160525 2.01605e+13 경매 천안도매시장 18 천안청과 25009300 10 충남 천안시 성환읍 충남 천안시 kg 협동 없음 백다다기 상자 2016 5 25 22 수요일 201605 201622 3 2016053 180 250093000 1389405.6 충남
오이 20180214 2.01802e+13 경매 청주도매시장 10 청주청과 12029600 15 전남 순천시 가곡동 전남 순천시 kg 계통 취청 상자 2018 2 14 8 수요일 201802 201808 2 2018022 150 180444000 1202960.0 전남
오이 20160824 2.01608e+13 경매 정읍도매시장 10 정일청과 10013000 8 전북 정읍시 수성동 전북 정읍시 kg 계통 없음 취청 상자 2016 8 24 35 수요일 201608 201635 3 2016083 80 80104000 1001300.0 전북
오이 20170522 2.01705e+13 경매 서울강서도매 9 농협강서(공) 8208100 72 서울 도봉구 서울 도봉구 kg 계통 백다다기 2017 5 22 22 월요일 201705 201722 3 2017053 648 590983200 912011.1 서울
오이 20151229 2.01512e+13 경매 대구북부도매 10 대양청과 9000000 1 대구광역시 대구광역시 NA kg 개별 가시오이 상자 2015 12 29 53 화요일 201512 201553 3 2015123 10 9000000 900000.0 대구광역시
오이 20170914 2.01709e+13 경매 천안도매시장 10 천안청과 8806800 1 경기 안성시 미양면 경기 안성시 kg 협동 없음 취청 상자 2017 9 14 38 목요일 201709 201738 2 2017092 10 8806800 880680.0 경기
오이 20150523 2.01505e+13 경매 천안도매시장 18 천안청과 12915900 21 충남 천안시 목천면 충남 천안시 kg 계통 없음 백다다기 상자 2015 5 23 21 토요일 201505 201521 3 2015053 378 271233900 717550.0 충남
오이 20160707 2.01607e+13 경매 구리도매시장 10 인터넷청과 7000000 6 강원 화천군 강원 화천군 kg 협동 백다다기 상자 2016 7 7 28 목요일 201607 201628 1 2016071 60 42000000 700000.0 강원
오이 20160525 2.01605e+13 경매 수원도매시장 10 경기청과 6688888 5 전남 순천시 승주읍 전남 순천시 kg 협동 취청 상자 2016 5 25 22 수요일 201605 201622 3 2016053 50 33444440 668888.8 전남
오이 20170421 2.01704e+13 경매 정읍도매시장 10 정일청과 6005000 4 전북 부안군 부안읍 전북 부안군 kg 개별 없음 취청 상자 2017 4 21 17 금요일 201704 201717 3 2017043 40 24020000 600500.0 전북
오이 20171214 2.01712e+13 경매 전주도매시장 10 전주청과 5111000 3 전북 전주시 덕진구 서노송동 전북 전주시 kg 계통 없음 취청 2017 12 14 51 목요일 201712 201751 2 2017122 30 15333000 511100.0 전북
오이 20150620 4.11420e+04 경매 전주도매시장 10 전주청과 4449999 2 NA kg 개별 없음 취청 2015 6 20 25 토요일 201506 201525 2 2015062 20 8899998 444999.9
오이 20170114 2.01701e+13 경매 광주서부도매 10 농협광주(공) 4000000 17 전남 순천시 낙안면 전남 순천시 kg 개별 취청 2017 1 14 3 토요일 201701 201703 2 2017012 170 68000000 400000.0 전남
dat3 <- dat2 %>% filter(price_per_kg<=5000)
연도-월 반입량

이제 오이의 연도-월 반입량을 살펴보자. 오이는 주로 5, 6월에 반입량이 많고 1, 2월에는 반입량이 적은 것을 확인할 수 있다. 특이하게 2015년에는 10월에도 반입량이 많았으며 다른 해보다 대체적으로 높은 반입량을 보였다.

input_year_month <- dat3 %>% group_by(year,month) %>% summarise(input=sum(weight,na.rm=T)) %>% spread(month,input,fill=0) %>% ungroup()
d5 <- as.matrix(input_year_month[,-1])/1000
hist3D(z = d5, x = as.numeric(t(input_year_month[,1])), y = 1:12, scale = F, expand = 0.00005, bty = "g", phi = 30, theta = 20, col = jet.col(100), alpha = 0.5, border = "black", shade = 0.2, ltheta = 90, space = 0.4, ticktype = "detailed", d = 2, xlab='year',ylab='month',zlab='ton')

연도-월 가격

다음은 연도-월 가격이다. 오이는 주로 3월부터 6월에 가격이 낮고 반입량이 적은 1, 2월에 가격이 높은 것을 확인할 수 있다 다른해보다 높은 반입량을 보였던 2015에는 여름과 가을에 다른해보다 낮은 가격을 형성하고 있다.

price_year_month <- dat3 %>% group_by(year,month) %>% summarise(price=mean(price_per_kg,na.rm=T)) %>% spread(month,price,fill=0) %>% ungroup()
d6 <- as.matrix(price_year_month[,-1])
hist3D(z = d6,  x = as.numeric(t(price_year_month[,1])), y = 1:12, scale = FALSE, expand = 0.0007, bty = "g", phi = 30, theta = 20, col = jet.col(100), alpha = 0.5, border = "black", shade = 0.2, ltheta = 90, space = 0.4, ticktype = "detailed", d = 2, xlab='year',ylab='month',zlab='ton')

산지-월 출하량

다음은 산지-월 출하량이다. 전남에서의 오이 출하량이 월등히 많고 그 뒤를 충남과 경기 등이 따르는 것을 확인할 있다. 전남의 경우 겨울과 봄에 출하량이 집중되어 있으며 특히나 겨울 출하량의 대부분을 차지한다. 충남의 경우 전남의 오이 출하량이 적은 10월과 11월에 출하량이 집중되어 있다. 경기 지역의 경우 5, 6월에 출하량이 집중되있 있으며 경북은 전남과 출하시기가 비슷한 것을 볼 있다. 강원과 충북은 6월부터 9월에 주로 오이를 출하한다.

input_sanji_month <- dat3 %>% group_by(sanji_wide2,month) %>% summarise(input=sum(weight,na.rm=T)) %>% spread(month,input,fill=0) %>% ungroup()
input_sanji_month <- input_sanji_month %>% mutate(total=apply(input_sanji_month[,-1],1,sum)) %>% arrange(desc(total))
d8 <- as.matrix(input_sanji_month[1:8,2:13])/1000
hist3D(z = d8, x=1:8, y=1:12, scale = FALSE, expand = 0.00008, bty = "g", phi = 40, theta = 15, col = jet.col(100), alpha = 0.5, border = "black", shade = 0.2, ltheta = 90, space = 0.4, ticktype = "detailed", d = 2, xlab="전남 충남 경기 경북 강원 충북 전북 대전", ylab="month", zlab='ton', cex.lab=1.1)

산지-월 가격

다음은 산지-월 가격이다. 출하량 자체는 많지 않았지만 강원지역의 오이가 대체적으로 높은 가격을 형성하고 있는 것을 확인할 수 있다.

price_sanji_month <- dat3 %>% group_by(sanji_wide2,month) %>% summarise(price=mean(price_per_kg,na.rm=T)) %>% spread(month,price,fill=0) %>% ungroup()
price_sanji_month <- merge(input_sanji_month[,c(1,14)],price_sanji_month, by='sanji_wide2',all.x=T) %>% arrange(desc(total))
d8b <- as.matrix(price_sanji_month[1:8,3:14])/1000
hist3D(z = d8b, x=1:8, y=1:12, scale = FALSE, expand = 0.5, bty = "g", phi = 40, theta = 15,   col = jet.col(100), alpha = 0.5, border = "black", shade = 0.2, ltheta = 90, space = 0.4, ticktype = "detailed", d = 2, xlab="전남 충남 경기 경북 강원 충북 전북 대전", ylab="month", zlab='ton', cex.lab=1.1)

품종-월 반입량

다음은 품종-월 반입량이다. 백다다기와 취청이 대부분을 차지하고 있는 것을 볼 수 있다. 5, 6월에는 백다다기의 반입량이 특히 많아진다.

input_spec_month <- dat3 %>% group_by(spename,month) %>% summarise(input=sum(weight,na.rm=T)) %>% spread(month,input,fill=0) %>% ungroup()
input_spec_month <- input_spec_month %>% mutate(total=apply(input_spec_month[,-1],1,sum)) %>% arrange(desc(total))
d9 <- as.matrix(input_spec_month[1:6,2:13])/1000
hist3D(z = d9, x=1:6, y=1:12, scale = FALSE, expand = 0.00005, bty = "g", phi = 50, theta = 20,  col = jet.col(100), alpha = 0.5, border = "black", shade = 0.2, ltheta = 90, space = 0.4, ticktype = "detailed", d = 2, xlab="백다다기 취청 가시오이 기타 청노각 노각", ylab="month", zlab='ton', cex.lab=0.8)

품종-월 가격

다음은 품종-월 가격이다. 대체적으로 오이의 출하량이 많은 5, 6월에 가격이 낮고 출하량이 적은 1, 2월에 가격이 높을 것을 볼 수 있다. 청노각과 노각은 다른 품종들과는 전혀 다른 가겨을 형성하고 있어 확연히 다른 품종임을 알 수가 있다.

price_spec_month <- dat3 %>% group_by(spename,month) %>% summarise(price=mean(price_per_kg,na.rm=T)) %>% spread(month,price,fill=0) %>% ungroup()
price_spec_month <- merge(input_spec_month[,c(1,14)],price_spec_month, by='spename',all.x=T) %>% arrange(desc(total))
d9b <- as.matrix(price_spec_month[1:6,3:14])
hist3D(z = d9b, x=1:6, y=1:12, scale = FALSE, expand = 0.0005, bty = "g", phi = 50, theta = 20, col = jet.col(100), alpha = 0.5, border = "black", shade = 0.2, ltheta = 90, space = 0.4, ticktype = "detailed", d = 2, xlab="백다다기 취청 가시오이 기타 청노각 노각", ylab="month", zlab='ton', cex.lab=0.8)

품종-산지 출하량

다음은 품종-산지 출하량이다. 백다다기는 오이 출하량이 많은 8개 지역 중 충남을 제외하고는 모든 지역에서 출하되는 것을 확인할 수 있다. 취청의 경우 전남과 강원 지역을 제외한 지역에서 출하되며 특히 대전에서 출하량이 높다. 가시오이는 강원에 그 춣량이 집중되어 있는 것을 확인할 수 있다. 가격 패턴이 유사했던 백다다기, 취청, 가시오이 중 가시오이는 산지가 확연히 달라 다른 품목으로 여겨야함을 유추할 있다.

input_spec_sanji_wide2 <- total_sort_2d(dat3,spename,sanji_wide2,weight)
d10 <- as.matrix(input_spec_sanji_wide2[1:8,2:7])/1000
hist3D(z = d10, x=1:8, y=1:6, scale = FALSE, expand = 0.0001, bty = "g", phi = 50, theta = 120, col = jet.col(100), alpha = 0.5, border = "black", shade = 0.2, ltheta = 90, space = 0.4, ticktype = "detailed", d = 2, xlab="전남 충남 경기 경북 강원 충북 전북 대전", cex.lab=0.8, ylab="백다다기 취청 가시오이 기타 청노각 노각", zlab='ton')

다음 분석을 진행하기 앞서 백다다기와 취청이 구분되는 품목인지 확인해보자. 산지에서 다소 차이를 보여 다른 품목일 가능성이 높아보이는데, 거래 단위와 거래 시장에서도 차이를 보인다면 다른 품목으로 구분지어도 될 것이다. 차이를 보기 위해 백다다기 데이터인 ‘dat_1’(1,800,504개)과 취청 데이터인 ‘dat_2’(1,309,365)를 생성했다.

오이의 경우 raw data에서 6건을 제외하고는 모두 ‘unit’이 kg이었기 때문에 품목 별로 ’prut’ 당 거래 건수 상위 10개를 살펴보았다. 백다다기의 경우 ’prut’이 18, 10, 15인 경우가 주를 이루고 취청의 경우 10, 20인 경우가 주를 이루고 있는 것을 확인할 수 있다.

다음으로 거래되는 시장에 차이가 있는지 밝혀내기 위해 2016년 기준으로 시장-월별 거래건수를 살펴보았다. 일반적으로 농산물 거래량이 가장 많은 서울가락도매시장을 기준으로 했을 때 백다다기의 경우 4~8월에 거래건수가 적고 취청의 경우 거래가 활발히 일어나는 것을 확인할 수 있었다.

이처럼 백다다기와 취청이 거래 단위와 거래 시장에서 차이를 보여 각기 구분되는 품목으로 결론지었다. 앞으로 이어질 분석이 서울가락시장도매를 중심으로 이루어지기 때문에 취청 데이터인 dat_2를 분석 데이터로 선정하였다.

Table 3: 백다다기 거래 단위 상위 10개
prut n
18.0 864428
10.0 514869
15.0 272393
8.0 69703
20.0 35831
9.0 29992
11.0 8124
0.6 712
7.5 512
12.0 456
Table 3: 취청 거래 단위 상위 10개
prut n
10.0 1185265
20.0 107981
18.0 4858
11.0 4843
5.0 3038
15.0 1412
8.0 548
4.0 325
0.4 174
0.2 159
Table 4: 백다다기 시장-월별 거래건수
ym 강릉도매시장 광주각화도매 광주서부도매 구리도매시장 구미도매시장 대구북부도매 대전노은도매 대전오정도매 부산반여도매 부산엄궁도매 서울가락도매 서울강서도매 수원도매시장 순천도매시장 안동도매시장 안산도매시장 안양도매시장 울산도매시장 원주도매시장 익산도매시장 인천구월도매 인천삼산도매 전주도매시장 정읍도매시장 진주도매시장 창원내서도매시장 창원팔용도매시장 천안도매시장 청주도매시장 춘천도매시장 충주도매시장 포항도매시장
201601 NA 111 26 1073 25 439 375 510 80 161 4830 6669 295 3 NA 48 51 8 62 4 479 612 2 11 27 4 35 56 143 54 16 NA
201602 3 76 71 1197 20 420 535 866 50 193 5869 5813 576 3 NA 248 107 6 92 NA 552 831 NA 12 30 36 28 176 130 52 19 NA
201603 NA 235 416 3911 53 1369 1719 2779 368 361 10876 7069 1922 19 NA 1167 398 65 221 89 1491 3042 137 129 130 83 73 1434 619 161 69 NA
201604 19 263 1029 4525 173 550 3061 2471 1085 51 335 10263 2183 159 NA 1722 823 245 328 188 967 3994 288 224 186 161 268 1838 702 240 292 NA
201605 297 105 1584 5032 400 NA 3006 1025 2440 NA NA 10029 1427 422 2 1345 479 774 416 225 302 4940 475 229 382 549 531 1677 649 241 854 NA
201606 682 82 1729 6842 267 NA 3084 1487 2737 NA NA 6521 1780 542 12 1486 895 893 816 291 319 6997 588 177 383 431 678 1813 731 259 1042 17
201607 786 477 949 6953 58 1593 2625 4456 1524 144 257 8747 2595 147 NA 1801 1124 602 1156 220 2536 5871 354 174 181 179 492 1769 920 289 1228 1
201608 725 363 371 7623 NA 3394 2410 4964 1027 597 1066 8246 3100 10 NA 1751 1527 165 1049 41 3636 4779 166 132 122 51 173 1117 965 237 1091 NA
201609 358 291 195 5975 5 3436 1714 3466 691 1075 10366 6265 2267 11 NA 1221 1266 70 513 8 2970 3737 54 72 31 27 72 970 753 170 660 NA
201610 137 485 169 5313 78 4263 1818 3622 919 757 14968 4750 2388 91 NA 1444 1273 57 361 7 3261 2930 41 50 24 82 99 1366 661 192 516 NA
201611 19 281 54 2344 141 2658 1412 1885 452 336 21394 3462 1419 83 NA 725 740 51 197 13 1980 1660 50 56 61 74 91 757 444 179 203 NA
201612 13 169 67 1875 79 2131 1281 1367 363 677 19709 3554 845 13 NA 372 371 29 217 23 1271 2001 NA 39 45 66 51 533 397 181 105 NA
Table 4: 취청 시장-월별 거래건수
ym 강릉도매시장 광주각화도매 광주서부도매 구리도매시장 대구북부도매 대전노은도매 대전오정도매 부산반여도매 부산엄궁도매 서울가락도매 서울강서도매 수원도매시장 순천도매시장 안산도매시장 안양도매시장 울산도매시장 원주도매시장 익산도매시장 인천구월도매 인천삼산도매 전주도매시장 정읍도매시장 진주도매시장 창원내서도매시장 창원팔용도매시장 천안도매시장 청주도매시장 춘천도매시장 충주도매시장
201601 72 3886 2989 1103 907 NA 637 530 484 25427 3331 476 1495 52 189 6 140 496 799 169 930 47 1978 37 1 53 67 71 43
201602 71 4091 3142 1036 1176 NA 631 448 723 25065 1649 504 1717 57 200 1 137 315 808 134 684 83 2100 27 1 24 87 79 10
201603 76 6578 4963 1470 1041 23 770 265 24 13438 832 491 2689 49 210 9 149 1105 798 174 1281 246 2778 19 NA 21 76 112 54
201604 68 7318 5897 1290 753 11 791 189 40 11238 529 386 3123 57 238 32 163 1161 914 198 1848 345 2389 38 7 6 98 151 37
201605 37 7653 6061 1241 459 47 665 45 7 10402 505 445 2943 66 198 4 151 1311 938 216 2217 344 1829 10 1 15 56 174 34
201606 2 6731 5442 1226 115 100 597 31 3 9620 285 442 2704 104 151 8 177 1416 696 242 2271 208 901 8 2 18 115 149 20
201607 2 4246 3958 438 5 138 512 33 2 7937 712 531 2379 65 171 10 149 1395 446 257 1985 229 6 14 5 121 170 129 4
201608 4 3715 4465 964 1 333 794 20 2 8931 736 457 2425 51 144 11 205 1214 675 228 1380 204 NA 14 17 266 194 169 41
201609 NA 2136 2501 498 11 510 494 32 3 7634 679 325 1386 67 120 NA 236 927 292 109 1247 195 20 8 11 85 117 90 33
201610 NA 3181 2915 432 16 736 664 43 4 9583 542 372 1588 156 157 2 189 864 121 218 1599 124 14 12 8 157 140 98 6
201611 21 3484 2978 728 102 590 580 37 23 8626 615 208 1793 76 99 1 111 771 335 271 1229 77 543 15 7 95 126 103 7
201612 53 4427 3397 1427 881 527 412 81 230 12369 761 587 1766 70 188 8 153 636 1060 216 866 84 1087 15 NA 111 272 110 29

다음은 거래단위별 가격이다. 주된 거래 단위인 10kg, 10kg 상자, 20kg, 20kg 상자를 대상으로 진행하였다. ’package’가 있는 경우와 없는 경우가 어떻게 다른지 정확하게 알 수는 없지만 10kg과 10kg상자 간에 다소 가격 차이가 있는 것을 볼 수 있다.

subplot(ggplotly(gg1.4a,tooltip = c("x", "y")),ggplotly(gg1.4b,tooltip = c("x", "y")),ggplotly(gg1.4c,tooltip = c("x", "y")),ggplotly(gg1.4d,tooltip = c("x", "y")),ggplotly(gg1.4e,tooltip = c("x", "y")), margin = 0.05, nrows=5)

마지막으로 법인별 반입량과 가격/거래 방법별 반입량과 가격을 살펴보자. 서울과 광주의 법인들이 높은 반입량을 보이는 것을 확인할 수 있다.

formattable(tab_2_1, list(
  mkt_short=formatter(
    "span",
    style = x ~ ifelse(x == substr(mkt_sel,1,4), style(font.weight = "bold", color = 'blue'), NA)),
  amt_ton = color_tile("white", "orange"),
  area(col = c(price_l1w, price_l2w, price_l3w)) ~ normalize_bar("pink", 0.2, na.rm=T)
)) 
mkt_short insname amt_ton price_l1w price_l2w price_l3w
서울가락 한국청과 90622 562 865 1519
서울가락 중앙청과 57213 648 885 1566
서울가락 농협가락(공) 52164 510 852 1521
서울가락 서울청과 49935 451 813 1360
광주각화 광주원협(공) 48821 646 1110 1755
광주서부 농협광주(공) 41019 610 1041 1729
광주각화 광주중앙청과 38346 677 1313 1889
서울가락 동화청과 37958 458 812 1636
광주각화 광주청과 36900 516 1046 1632
순천도매 순천원협(공) 30475 589 1142 2076
광주서부 호남청과 30312 649 1014 1762
익산도매 익산원협(공) 17103 349 698 1137
광주서부 두레청과 15234 564 1004 1774
전주도매 전주원협(공) 14596 327 659 1144
구리도매 구리청과 14189 656 1188 1822
순천도매 남도청과 12647 479 940 1398
전주도매 전주청과 12551 592 705 1248
구리도매 농협구리(공) 11848 529 1094 2065
대전오정 농협대전(공) 9562 481 952 1477
서울강서 서부청과 7852 445 893 1278
ggplotly(g, tooltip = c('x',"y"), height = 600) 
연진 avatar
About 연진
농업정보시스템 연구실의 인턴을 거쳐 현재 석사과정 1년차 연구원이다.
comments powered by Disqus