Rで時系列データの可視化:新型コロナ陽性者数の県別動向 ーgeom_lineー

Rでプレゼンテーション

厚労省のオープンデータとして、各都道府県における1日当たりのコロナ陽性患者数情報を入手することができます。
熊本県の新型コロナ陽性患者数動向において、相関の高い都道府県はどこか?について調べたいと思います。
患者数動向は、時系列データの1種です。下記の記事も参考にしてください。

Rで時系列データの折れ線グラフ ーggplot2による熊本の気温変化の分析ー
Rで時系列データの分析を行います。2020年の熊本の気温変化データを使ってみます。 ※更新 2021.9 ↓↓↓関連した投稿です。時系列を両側2軸で違うスケール表示してますので、参考にされてください。 ◆今...

◆時系列の折れ線グラフ 熊本県と主要な都道府県の比較

patient_prefecture<-read.csv("newly_confirmed_cases_daily.csv") #厚労省のwebから入手したcsvをそのまま読み込む
patient_Kumamoto<-subset(patient_prefecture, Prefecture=="Kumamoto")  #熊本県のデータ
head(patient_Kumamoto)
         Date Prefecture Newly.confirmed.cases
44  2020/1/26   Kumamoto                     0
92  2020/1/27   Kumamoto                     0
140 2020/1/28   Kumamoto                     0
188 2020/1/29   Kumamoto                     0
236 2020/1/30   Kumamoto                     0
284 2020/1/31   Kumamoto                     0

patient_Hokkaido<-subset(patient_prefecture, Prefecture=="Hokkaido") #北海道のデータ
patient_Tokyo<-subset(patient_prefecture, Prefecture=="Tokyo") #東京都のデータ
patient_Osaka<-subset(patient_prefecture, Prefecture=="Osaka") #大阪府のデータ
patient_Fukuoka<-subset(patient_prefecture, Prefecture=="Fukuoka") #福岡県のデータ

Kumamoto_Hokkaido2[,1]<- as.Date(Kumamoto_Hokkaido2[,1],"%Y/%m/%d")
ggplot()+geom_line(data =Kumamoto_Hokkaido2, aes(x=Date, y=Newly.confirmed.cases, color="Kumamoto"),size=1)+geom_line(data =Kumamoto_Hokkaido2, aes(x=Date, y=Newly.confirmed.cases.1, color="Hokkaido"),size=1)+theme_bw()+scale_color_manual(values = c("red","blue")) #熊本県と北海道の時系列 折れ線グラフ
Kumamoto_Tokyo2[,1]<- as.Date(Kumamoto_Tokyo2[,1],"%Y/%m/%d") 
ggplot()+geom_line(data =Kumamoto_Tokyo2, aes(x=Date, y=Newly.confirmed.cases, color="Kumamoto"),size=1)+geom_line(data =Kumamoto_Tokyo2, aes(x=Date, y=Newly.confirmed.cases.1, color="Tokyo"),size=1)+theme_bw()+scale_color_manual(values = c("blue","red")) #熊本県と東京都の時系列 折れ線グラフ
Kumamoto_Osaka2[,1]<- as.Date(Kumamoto_Osaka2[,1],"%Y/%m/%d")
ggplot()+geom_line(data =Kumamoto_Osaka2, aes(x=Date, y=Newly.confirmed.cases, color="Kumamoto"),size=1)+geom_line(data =Kumamoto_Osaka2, aes(x=Date, y=Newly.confirmed.cases.1, color="Osaka"),size=1)+theme_bw()+scale_color_manual(values = c("blue","red")) #熊本県と大阪府の時系列 折れ線グラフ
Kumamoto_Fukuoka2[,1]<- as.Date(Kumamoto_Fukuoka2[,1],"%Y/%m/%d")
ggplot()+geom_line(data =Kumamoto_Fukuoka2, aes(x=Date, y=Newly.confirmed.cases, color="Kumamoto"),size=1)+geom_line(data =Kumamoto_Fukuoka2, aes(x=Date, y=Newly.confirmed.cases.1, color="Fukuoka"),size=1)+theme_bw()+scale_color_manual(values = c("red","blue")) #熊本県と福岡県の時系列 折れ線グラフ

上記のコードで作成できた、熊本県と、北海道、東京都、大阪府、福岡県と時系列の折れ線グラフを以下に示します。

熊本県と北海道は各ピークの日付が一致せず、また、ピークの大きさの比も大きく異なります。
例えば、右から一つ目と二つ目について見ると、北海道は右から二つ目の方がやや大きく、一つ目がやや小さい。
熊本県は、右から二つ目のピークより一つ目が2倍以上とおおきくなっています。
東京都とは、各ピークの日付が異なり、熊本の方がやや後ろにずれています。
大阪府とは、東京と同じく各ピークの日付が異なり、熊本の方がやや後ろにずれています。
福岡県とは、各ピークの日付やピークの大きさの比もかなり近いように見えます。
各日付けにおける熊本県と各都道府県のコロナ陽性者数の情報を基に、散布図や相関係数を見てみます。
熊本県のコロナ陽性者数の動向と近い都道府県を調べる、ということになります。




◆散布図(scatter plot)

patient_Aomori<-subset(patient_prefecture, Prefecture=="Aomori")  #青森県のデータ
patient_Iwate<-subset(patient_prefecture, Prefecture=="Iwate")  #岩手県のデータ
patient_Miyagi<-subset(patient_prefecture, Prefecture=="Miyagi")  #宮城県のデータ
・・・ 残りの都道府県情報も同じファイルを作成

Kumamoto_Hokkaido<-cbind(patient_Kumamoto, patient_Hokkaido)
Kumamoto_Hokkaido2<-Kumamoto_Hokkaido[,c(-2,-4,-5)]
head(Kumamoto_Hokkaido2)
         Date Newly.confirmed.cases Newly.confirmed.cases.1
44  2020/1/26                     0                       0
92  2020/1/27                     0                       0
140 2020/1/28                     0                       1
188 2020/1/29                     0                       0
236 2020/1/30                     0                       0
284 2020/1/31                     0                       0
plot(Kumamoto_Hokkaido2$Newly.confirmed.cases.1, Kumamoto_Hokkaido2$Newly.confirmed.cases, pch = 20, type = 'p', las = 1,xlab = 'Hokkaido',ylab ='Kumamoto' )
mod1 = lm(Newly.confirmed.cases~Newly.confirmed.cases.1, data = Kumamoto_Hokkaido2) #lim関数 回帰モデルの作成 lim(y情報~x情報, data=ファイル指定)
abline(mod1)
r <- round(cor(Kumamoto_Hokkaido2$Newly.confirmed.cases.1,Kumamoto_Hokkaido2$Newly.confirmed.cases), 3) #相関係数を小数点以下3位まで表示
legend('topleft', paste("r =",r," "), cex=1.2, bty = 'n') #凡例表示
・・・残りの都道府県情報も同じように作成

このような方法で、各都道府県についても散布図を作成しました。

北海道と熊本県の散布図と相関係数を以下に示します。

相関係数rは0.758で、散布図は直線に対し、やや広がってプロットされていました。
熊本県とその他の都道府県について同様の作業を行ったところ、相関係数については都道府県によってことなる結果でした。
r 相関係数の高い都道府県の上位10は、
1位 福岡県、2位 群馬県、3位 滋賀県、4位 京都県、5位 佐賀県、6位 岐阜県、7位 香川県、8位 静岡県、9位 鹿児島県、10位 岡山県 でした。
top6まで下記に紹介します。

福岡県、佐賀県、鹿児島県は熊本と隣接しており、ある程度人流の影響も考えられます。
特に、福岡県との陽性者数変動との相関が高く、人の往来が多いなど密接な関係が考えられます。
しかし、2位の群馬県、3位の滋賀県、4位の京都府などは、地理的には離れた場所に位置しており、相関係数が大きい原因は距離以外に考えられます。
地理的な距離の近さ以外の原因についても、今後考察していきたいと思います。




コメント

タイトルとURLをコピーしました