Translate

2020年3月26日木曜日

◆【COVID-19】ダッシュボード用データの前処理の例:アメリカ合衆国(US)の地域別の変数を整備:正規表現「".*Key Word.*"」がカギでした

新型コロナウイルスの「感染者数」や死亡者数の推移を国・地域別に見ることができるダッシュボードのデータの前処理をして、アメリカの州別での推移をグラフ化できるようにしました。

◆【COVID-19】国別、地域別の感染者数の推移を簡単に確認できる「DashBoard(ダッシュボード)」の試作です:新型コロナウイルスダッシュボード(Novel Coronavirus DashBoard)

ダッシュボードのデータは、「JHU CSSE Covid19 Daily Reports」のデータを利用しています。1日に1度、データが追加されます。主にマップ用のデータで、緯度、経度の情報もあります。

先日、アメリカ国内の位置情報が詳しくなり、データの行数が大幅に増えたため、ダッシュボード用データの前処理方法を変更しました。そのついでに、アメリカの地域別データの整備を行いました。

アメリカのデータには、「Province.State」の列に、地域別のデータがあるのですが、3月9日までは、「New York County, NY」のように、「County,State」といった形のデータでした。それが、3月10日以降は、「State」という州別のデータに変わりました。

3月9日以前のデータも含めて、データの推移をグラフ化する場合は、過去の「County,State」を「State」に変換する必要があります。

ダッシュボード用のデータの前処理は、「R」を用いていて、下記のコードによって過去の「County,State」を「State」に変換しました。

「".*NY.*"」という正規表現の表記によって、「NY」という州の略号を含む文字列全体を「"New York"」に置き換えることができました。

正規表現は、具体例がないと本当にわかりにくいです。

最初は、置き換える対象を「”.NY”」などの表記にしていましたが、「NY」の部分だけが置き換えられて、うまくいきませんでした。

「".*NY.*"」とすることで、文字列全体を置き換えることができました。この表記の仕方の情報を見つけるのに時間がかかりました。

「ある文字列を含む文字列全体を置き換える」場合は、「​”.*指定する文字列.*”」とするといいようです。

【地域別変数の前処理のRコード】

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*NY.*", replacement="New York")

df_covadd$Province.State <-str_replace_all(df_covadd$Province.State,pattern=".*AL.*", replacement="Alabama")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*AK.*", replacement="Alaska")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*AZ.*", replacement="Arizona")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*AR.*", replacement="Arkansas")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*CA.*", replacement="California")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*CO.*", replacement="Colorado")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*CT.*", replacement="Connecticut")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*DE.*", replacement="Delaware")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*FL.*", replacement="Florida")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*GA.*", replacement="Georgia")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*HI.*", replacement="Hawaii")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*ID.*", replacement="Idaho")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*IL.*", replacement="Illinois")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*IN.*", replacement="Indiana")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*IA.*", replacement="Iowa")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*KS.*", replacement="Kansas")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*KY.*", replacement="Kentucky")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*LA.*", replacement="Louisiana")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*ME.*", replacement="Maine")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*MD.*", replacement="Maryland")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*MA.*", replacement="Massachusetts")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*MI.*", replacement="Michigan")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*MN.*", replacement="Minnesota")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*MS.*", replacement="Mississippi")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*MO.*", replacement="Missouri")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*MT.*", replacement="Montana")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*NB.*", replacement="Nebraska")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*NV.*", replacement="Nevada")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*NH.*", replacement="New Hampshire")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*NJ.*", replacement="New Jersey")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*NM.*", replacement="New Mexico")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*NC.*", replacement="North Carolina")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*ND.*", replacement="North Dakota")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*OH.*", replacement="Ohio")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*OK.*", replacement="Oklahoma")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*OR.*", replacement="Oregon")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*PA.*", replacement="Pennsylvania")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*RI.*", replacement="Rhode Island")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*SC.*", replacement="South Carolina")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*SD.*", replacement="South Dakota")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*TN.*", replacement="Tennessee")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*TX.*", replacement="Texas")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*UT.*", replacement="Utah")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*VT.*", replacement="Vermont")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*VA.*", replacement="Virginia")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*WA.*", replacement="Washington")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*WV.*", replacement="West Virginia")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*WI.*", replacement="Wisconsin")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*WY.*", replacement="Wyoming")

df_covadd$Province.State <- str_replace_all(df_covadd$Province.State,pattern=".*D.C..*", replacement="District of Columbia")

--------------------------------------------------------------------------​
長さ調節可フィルターも入る2重構造!洗濯可立体仕様のケアマスク●先行受注●【メール便で送料無料】【メール便A】マスク 布マスク 男女兼用 日本製 国内生産 二重構造 フィルター効果 ユニセックス 洗える 洗濯可能 清潔 花粉症 保湿 コットン 綿

------------------------------------------------------------------------------
【もし、楽天市場で何か買い物をされる場合は、買い物をする直前のタイミングで下記の楽天市場のバナーをクリックしてから、買い物をしていただけると、試作ダッシュボードの運営を支援していただくことになります】





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

------------------------------------------------------------------------
◆【COVID-19】国別、地域別の感染者数の推移を簡単に確認できる「DashBoard(ダッシュボード)」の試作です:新型コロナウイルスダッシュボード(Novel Coronavirus DashBoard)
 ------------------------------------------------------------------------------

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

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

2020年3月24日火曜日

◆インフルエンザの2019年シーズンはほぼ収束:第11週の定点当たり報告数は前週から減少

インフルエンザの定点観測データ(定点当たり報告数の推移):2020年第11週(3月9日~3月15日)まで
国立感染症研究所のホームページに、インフルエンザの流行についての週ごとのデータがあります。毎年、第36週(8月末~9月初旬)から翌年の第35週までの1年間が「インフルエンザシーズン」とされていて、「2019-2020年シーズン」は、2019年9月2日から2020年8月30日までです。
国立感染症研究所のホームページから週ごとの「インフルエンザの定点当たり報告数」のデータをダウンロードして、グラフを作成しています。
「インフルエンザの定点当たり報告数」は、2020年の第11週(3月9日~3月15日)では1.29で、前週の3.13から減少しました。
 第11週は、前年比44.18%、前週比41.21%となっています。
下のグラフは、第11週(3月9日~3月15日)のものです。         
year W01 W02 W03 W04 W05 W06 W07 W08 W09 W10 W11 W12 W13 W14 W15
2015年 21.5 33.3 37.0 39.4 29.1 19.0 12.2 8.3 5.9 4.3 4.0 3.8 2.6 2.1 1.6
2016年 2.0 4.1 10.6 22.6 34.7 40.0 37.2 36.1 35.4 28.2 21.1 13.8 11.2 7.0 5.1
2017年 10.6 15.2 28.7 39.4 38.1 28.6 23.9 16.9 13.6 11.1 10.3 7.7 6.8 5.1 4.0
2018年 16.3 26.4 51.9 52.4 54.3 45.4 29.6 22.6 17.4 12.1 8.7 5.3 3.4 2.0 1.7
2019年 16.3 38.5 53.9 57.1 43.2 26.3 12.5 9.0 5.9 4.1 2.9 2.5 1.7 1.5 1.7
2020年 13.9 18.3 16.7 18.0 14.1 9.0 7.5 6.1 4.8 3.1 1.3 NA NA NA NA
2018年、2019年の1月、2月ごろは報告数が多かったようです。2009年からグラフ化すると、線が多くて見づらいため、2015年からのデータのグラフも作成しています。
36週からのデータに絞り、スケールを変えたグラフも作成しています。「定点当たり報告数」は、2020年の第11週(3月9日~3月15日)では1.29で、前週の3.13から減少しています。18年シーズン、17年シーズンを下回る水準になっています。

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.

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

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