gravatar

Doheum_Kim

Doheum Kim

Recently Published

Document
Document
Document
library(tidyverse) library(ggplot2) library(dplyr) library(readxl) library(lubridate) library(patchwork) library(reshape2) traffic_file_path = '/cloud/project/Data/traffic.xlsx' covid_file_path = '/cloud/project/Data/covid.xlsx' ott_file_path = '/cloud/project/Data/ott.xlsx' traffic_sheet1 = read_excel(traffic_file_path, col_types = c('date','numeric'),sheet = 'Sheet1') traffic_sheet2 = read_excel(traffic_file_path, col_types = c('date','numeric','numeric'),sheet = 'Sheet2') covid = read_excel(covid_file_path, col_types = c('date', 'numeric', 'numeric', 'numeric', 'numeric'), sheet = '발생별(국내발생+해외유입), 사망') ott = read_excel(ott_file_path, col_types = c('numeric','text','text','text','numeric', 'numeric','numeric','numeric','numeric', 'numeric','numeric','numeric','numeric'),sheet = 'Sheet1') # ---------------------------------------------------------- ### 데이터 가공 ### # covid df 가공 names(covid) = c('날짜','합계','국내발생','해외발생','사망') covid[is.na(covid)] = 0 df_covid = covid %>% select(날짜,합계) %>% filter(날짜>='2020-01-01'&날짜<='2021-08-01') visual_df_covid = ggplot(data = df_covid, aes(날짜,합계)) + xlab('Date') + ylab('확진자 수(명)') + ggtitle('국내 코로나19 확진자 수') + geom_line() # ---------------------------------------------------------- # traffic df 가공 # traffic_sheet1 - 무선 데이터 트래픽 names(traffic_sheet1) = c('날짜','합계') df_traffic1 = traffic_sheet1%>% filter(날짜 >='2020-01-01'&날짜<='2021-08-30') visual_df_traffic1 = ggplot(data = df_traffic1, aes(날짜,합계)) + xlab('Date') + ylab('SumTraffic(TB)') + ggtitle('국내 무선 통신 트래픽량') + geom_line() # traffic_sheet2 - 이동전화 단말기 트래픽 합계 데이터 names(traffic_sheet2) = c('날짜','합계','인당트래픽') df_traffic2 = traffic_sheet2 %>% filter(날짜>='2020-01-01'&날짜<'2021-11-01') visual_df_traffic2_all = traffic_sheet2 %>% # 합계 select(날짜,합계) %>% ggplot(aes(날짜,합계)) + xlab('Date') + ylab('합계') + ggtitle('국내 무선 통신 트래픽량') + geom_line() visual_df_traffic2_each = traffic_sheet2 %>% # 1인당 select(날짜,인당트래픽) %>% ggplot(aes(날짜,인당트래픽)) + xlab('Date') + ylab('1인당 트래픽(MB)') + ggtitle('국내 무선 통신 트래픽량') + geom_line() # OTT df_ott = ott%>% filter(분류 == '국가별')%>% select(연도,나라,평균) # ---------------------------------------------------------- ### 기타 데이터 가공 ### visual = visual_df_covid + visual_df_traffic1 # 그래프 합치기(트래픽, 코로나) month_year_covid = cbind(df_covid, month = month(df_covid$날짜), year = year(df_covid$날짜)) # month, year 변수 추가 sum_covid <- aggregate(합계 ~ month + year, month_year_covid, FUN = sum) # 합 구하기 by month, year # sum_covid 와 df_traffic을 cor() covid_element = as_vector(sum_covid$합계) traffic_element = as_vector(df_traffic1$합계) relation = cor(covid_element,traffic_element) new_relation = cor(sum_covid$합계,df_traffic1$합계) # 산점도, 회귀선 표시 # scatter = plot(covid_element,traffic_element) df <- data.frame(x = covid_element, y = traffic_element) line_scatter = ggplot(df, aes(covid_element,traffic_element))+ geom_point() + stat_smooth() + ggtitle('코로나 확진자와 트래픽의 상관관계')+ xlim(0, 30000) + ylim(580000, 810000) # ---------------------------------------------------------- ### 출력 ### #-그래프-# visual # 코로나, 트래픽 그래프 비교 # visual_df_covid # 코로나 그래프 # visual_df_traffic1 # 트래픽 그래프(Sheet1) # visual_df_traffic2 # 트래픽 그래프(Sheet2) # visual_df_traffic2_all # visual_df_traffic2_each # line_scatter # 상관관계 그래프(ggplot, 회귀선 포함) # scatter # 상관관계 그래프(plot) #-데이터-# # relation # 상관관계 값 # df_covid # df_traffic1 # df_traffic2 # df_ott # sum_covid # month_year_covid #sum_covid$합계 covid_element new_relation relation # ----------------------------------------------------------