Recently Published
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
# ----------------------------------------------------------