본문 바로가기

서울시 먹거리 분석

기획하기

반응형

SK Data Hub 에서 매달 나오는 Data 들이 있습니다. 그 중에서 요즘에 관심을 갖는 분야는 먹거리에 관한 데이터입니다. SK Data Hub에 있는 데이터는 치킨, 중국음식, 피자의 통화 건수가 매달 올라 오며, 이것에 대해 간단한 분석부터 시작해서 조금씩 난이도를 높혀 볼 생각입니다. 물론 맹점이라면 SKT기기의 통화량뿐 다른 통신사의 통화량, app으로 주문, 오프라인 방문은 고려하지 않지만, 이는 전체 모집단의 표본이라고 생각해두겠습니다.

 

처음 몇개의 블로그는 단순하고 쉽게 진행 예정이며 난이도가 높이며 자연스럽게 독자의 보는 눈도, 높아지게 해보려 하는 것이 이번 블로그의 목표입니다.

 

Update 2020.02.18

Roadmap에 따라서 필요한 내용을 계속 해서 작성 하며, 이에 대한 전반적인 파악이 필요해서 목차를 작성하겠습니다. 각 목차 마다 링크를 추가해서 보기 쉽게 만들도록 하겠습니다.

 

  1. 19.01 치킨 판매업종 이용 통화량 분석
  2. 19.01월 중국집 이용 통화량 분석
  3. 19.01월 피자집 이용 통화량 분석
  4. 19.01 요식업계 통화량 시각화
  5. 시각화 해석
  6. 원인 파악
  7. 2018년 csv파일 불러오기
  8. 2018년 요식업계 통화량 시각화

 

 


Roadmap

차근차근 난이도를 높혀 가면서, 그리고 더 많은 데이터를 쌓아가면서 분석을 할 것입니다. 그렇기 위해서는 단계들이 필오합니다. 물론 초기 방향과 달라질 수 있겠지만 아래의 계획처럼 나아가겠습니다.

 

1."19년 1월 서울 시 치킨 판매업종 이용 통화량" 데이터 분석

   a. 데이터 탐색 -> 초보적인 시각화

   b. 데이터를 여러 방향으로 분석 해보기

2."19년 1월 서울시 중국음식 판매업종 이용 통화량" 데이터 분석

3."19년 1월 서울시 피자 판매업종 이용 통화량" 데이터 분석

4.1월의 서울시 먹거리(1~3 데이터를 합친 후) 분석

5.2018년 전체 데이터를 합친 후 분석

6.5번을 중심으로 인사이트 도출

7.지난 1년간의 먹거리 트렌드가 어떠했는지 알아보고, 앞으로 어떻게 변화할 지 분석

8.Feedback

 


우선 이 븐로그에서는 1-a 단계를 실행하도록 하겠습니다. 우선 SKT Data hub에서 "19년 1월 서울시 치킨 판매업종 이용 통화량" 데이터를 받아오도록 하겠습니다.

 

Call_chicken_01 <- read.csv("CALL_CHICKEN_01MONTH.csv")

 

이번 블로그는 아주 아주 간단하게 파악 하는 단계이므로 데이터가 몇개인지 부터 파악해보도록 하겠습니다.

dim()함수를 사용하겠습니다.

> dim(Call_chicken_01)
[1] 30245     9

 

총 29850개의 데이터가 있음을 확인했습니다.

이제 이 약 3만개 데이터들이 어떻게 분포 되어있는지 간단히 요약하여 확인해보도록 합니다.

summary()함수를 사용하겠습니다.

> summary(Call_chicken_01)
     기준일         요일      성별            연령대             시도            시군구            읍면동     
 Min.   :20190101   금:4318   남:14746   10대    :3728   서울특별시:30245   강남구  : 2609   가양동   :  372  
 1st Qu.:20190108   목:4720   여:15499   20대    :5727                      영등포구: 2059   개봉동   :  372  
 Median :20190116   수:4728              30대    :6242                      강서구  : 1942   공릉동   :  372  
 Mean   :20190116   월:3562              40대    :6161                      마포구  : 1685   내발산동 :  372  
 3rd Qu.:20190124   일:3921              50대    :4599                      중구    : 1610   동선동2가:  372  
 Max.   :20190131   토:4185              60대이상:3788                      성북구  : 1546   면목동   :  372  
                    화:4811                                                 (Other) :18794   (Other)  :28013  
   업종          통화건수     
 치킨:30245   Min.   :  5.00  
              1st Qu.:  5.00  
              Median :  5.00  
              Mean   : 13.18  
              3rd Qu.: 14.00  
              Max.   :237.00  

 

이중에 딱 봤을때 눈에 띄는 Data가 있는데 연령대를 보면 30대와 40대가 각각 6242, 6161건의 데이터로 가장 높은 데이터량을 나타내고 있습니다. 그렇다면 먼저 이곳부터 공략하여 알아보도록 하겠습니다.

필터링을 하여 30대,40대만 뽑았으며 이를 years3040 이라고 지정해놓았고, 그후 head()로 간단히 확인 해보면 다음과 같습니다.

> years3040<-Call_chicken_01 %>% filter(연령대=="30대"|연령대=="40대")
> head(years3040)
    기준일 요일 성별 연령대       시도 시군구 읍면동 업종 통화건수
1 20190101   화   남   30대 서울특별시 강남구 수서동 치킨        5
2 20190101   화   남   40대 서울특별시 강남구 개포동 치킨       12
3 20190101   화   남   40대 서울특별시 강남구 세곡동 치킨        5
4 20190101   화   남   40대 서울특별시 강남구 역삼동 치킨       37
5 20190101   화   남   40대 서울특별시 강남구 자곡동 치킨        5
6 20190101   화   여   40대 서울특별시 강남구 역삼동 치킨       45

 

이렇게 30,40대의 데이터만 뽑았으니 한번더 데이터 조작을 하여 금요일날 통화 건수의 총합을 알아보도록 하겠습니다.

총합을 알아보기 위해서 sum() 함수를 사용하겠습니다.

fri30<-Call_chicken_01 %>% filter(연령대=="30대"&요일=="금")
fri40<-Call_chicken_01 %>% filter(연령대=="40대"&요일=="금")

sum(fri30$통화건수)

sum(fri40$통화건수)

 

금요일 30대의 통화 건수는 15,685건, 40대의 통화 건수는 20,831건임을 알아 보았습니다.

약간 의아해 할수도 있는데 아까, 30대와 40대가 각각 6242, 6161건의 데이터인것을 확인할 수 있는데, 통화 건수가 더 많을지 의문이 들수 있습니다. 30대의 6116데이터는 말그대로 데이터입니다.

그 데이터에서 통화 건수는 별개입니다. 30대 임의의 데이터 하나를 뽑아 보도록 하겠습니다.

> head(years3040[years3040$연령대 == "30대",])
     기준일 요일 성별 연령대       시도 시군구 읍면동 업종 통화건수
2  20190101   화   남   30대 서울특별시 강남구 삼성동 치킨       36
7  20190101   화   여   30대 서울특별시 강남구 일원동 치킨        5
9  20190101   화   남   30대 서울특별시 강남구 수서동 치킨        5
11 20190101   화   남   30대 서울특별시 강남구 역삼동 치킨       28
12 20190101   화   여   30대 서울특별시 강남구 역삼동 치킨       29
21 20190101   화   여   30대 서울특별시 강남구 수서동 치킨        5

 

이를 보면 하나의 데이터에 통화건수는 5,5,29,5,5,27… 등등이 나온것이고 이를 모두 더한 것입니다.


R을 이용해 간단하게 데이터 조작해보는법을 알아보았습니다.

아직까지는 간단한 단계이며, 조금씩 난이도를 높혀가도록 하겠습니다.

반응형