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)
 ------------------------------------------------------------------------------

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

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

0 件のコメント:

コメントを投稿