Translate

2020年1月11日土曜日

◆国立感染症研究所のインフルエンザの「定点当たり報告数」のデータを「ts」形式のデータにする「R」のコードの例

 国立感染症研究所のインフルエンザの「定点当たり報告数」の11年間のデータを時系列形式(「ts」形式)にしてみました。

 「11年間」のデータなので、時系列データなのかというと、そんなことはなく、行が年(2009年~2019年)、列が週(1週~53週)といった形のデータです。1行が1年分のデータです。

 11年分のデータが1列に並ぶ形にして、「ts()」で、時系列データに変換するための「R」のコードです。「53週の場合」の問題がありますが、とりあえず、時系列分析をすることができると思います。


df_inf <- read.csv("week52-trend.csv",skip=15,nrows=11)

colnames(df_inf)[1] <- c("year")
colnames(df_inf)[2:10] <- c(paste0("W0", 1:9))
colnames(df_inf)[11:54] <- c(paste0("W", 10:53))

df_inf <- as.data.frame(df_inf)

df_inf$year_n <- str_replace_all(df_inf$year,"年","")
df_inf$year_n <- as.integer(df_inf$year_n)

df_inflong <- gather(df_inf, weekg, influ, ”W01”:"W53")
df_inflong <- df_inflong[order(df_inflong$year_n),]
df_inflong <- na.omit(df_inflong) %>% mutate(num = row_number())

Influenza  <-  ts(df_inflong$influ,start=c(2009,1), frequency = 52)

plot(forecast(Influenza,h=12))



----------------------------------------------------

---------------------------------------------------
-

0 件のコメント:

コメントを投稿