2761057 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

One of my favorite things is ...

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2020.02.09
XML
カテゴリ:データ分析
​ 新型コロナウイルスの感染者のデータをグラフ化したりしていますが、Kaggleのバージョン7のデータ(CSV形式のファイル)を用いています。データ更新頻度がそれほど頻繁ではないため、Johns Hopkins CSSEのデータシート(グーグルスプレッドシート:ダッシュボードの下の部分にリンクあり【※データの場所はGitHubに変更になりました】)のデータを取り込んで継ぎ足して利用してます。Kaggleのバージョン7のデータもJohns Hopkins CSSEのデータシートが元になっています。





【データ更新についての雑感】
Johns Hopkins CSSEのデータシート(グーグルスプレッドシート)からデータをコピーした際に、「Last Update」の変数の日付がうまくコピーされず、はまってしまいました。2月の日付は、日付の年と月がデタラメになってしまいます。Excelには、強力な「日付への変換機能」が備わっています。「文字列」として読み込むこともできませんでした。

結局、Excelのパワークエリで「Webからのデータ取得」の形でデータを抽出させていただきました。この場合も、2番目のタブから抽出する方法が、最初はわからなくて、はまってしまいました。スプレッドシートのURLの後ろの方の文字列の一部を「export?format=xlsx」に置き換えることによって、グーグルスプレッドシートのタブを選べるようになることがわかるまで時間がかかりました。

別の方法として、自分のグーグルのスプレッドシートのA1セルに、Johns Hopkins CSSEのデータシートのURLを入れて、B1セルなどに関数「=ImportHTML(A1,"table",n)」を入れることによって、n番目のタブのデータを抽出できるのですが、この場合も日付がうまくコピーされません。グーグルのスプレッドシートにも強力な「日付変換機能」が備わっているようです。

「Last Update」の日付を使わないのであれば、「=ImportHTML(URL,"table",n)」の方法も簡単でいいと思います。今のところ、「Last Update」の日付の用途が思いつかないので、この方法でもよかったのですが、何か気持ちが悪いので、Excelのパワークエリを使ってデータを抽出しました。

パワークエリでは、問題なく「Last Update」の日付データを読み込めました。パワークエリは、Excelのシートと一線を画していることがはっきりとわかります。ただし、データ型を日付にしたりすると、おかしくなってしまいます。

その後、Rの「gsheet」パッケージを使えば、Excelを利用しないですむことに気づきました。

この方法だと、グーグルのスプレッドシートの新データをRに直接読み込めるので、後はRで変数を追加してから、既存のKaggleのデータと結合すれば済みます。一度、コード化すれば、一瞬でデータ更新が終了します。データ入手から、前処理、グラフ作成まで、すべて「R」で完結させることができました。

その後、Johns Hopkins CSSEの時系列の数表シートからもデータを読みこうもうとしましたが、
「gsheet」の場合はトップのシート以外の読み込みができませんでした。そこで、「googlesheets4」パッケージをインストールして、「GSTD <- read_sheet(URL,3)」としたところ、3番目のタブの「Death」のデータをRに読み込むことができました。

グーグルのImportHTML関数やパワークエリを使う方法では、変数名が日付の部分がおかしくなったり、空白行ができたりしますが、Rのread_sheet()関数を使う方法では下記の2行のコードで3番目のタブのシートを問題なく読み込めているようです。Rにダイレクトに読み込めるのは便利です。

URL <- ”https・・・グーグルのスプレッドシートのURL・・・”
cordata <- read_sheet(URL,3)

その後、Johns Hopkins CSSEのデータシート(グーグルスプレッドシート)のデータの保存先は、GitHubに変更になりました。グーグルのスプレッドシートは利用できなくなります。とにかく、データの公開は継続なのでよかったです。2月10日現在で、すでにデータがGitHubにあります。
Announcement
We created a GitHub repo: https://github.com/CSSEGISandData/2019-nCoV
It has the same info as this Google Sheet.
Due to the download limitation, we will soon stop to update this Google Sheet. (soon = no later than Feb 11)
Hope you will enjoy the new data storage place. Sorry for any inconvenience.
ということで、データを読み込むためのコードは、下記のようになります。

URL  <- ”https・・・GitHubのCSVファイルのURL・・・”
cordata <-  read.csv( 
text= URL,header=T)

今回のデータ取得について、すぐれていると思うのは、「Rのread_sheet()関数」、「パワークエリ」、「ImportHTML関数」の順です。

元データがグーグルのシートなのに、ImportHTML関数できれいに読み込めなかったのは意外でした。「日付」の問題が影響しているのは、グーグルシート、パワークエリとも共通しているようです。

いずれにしても、CSVファイルとグーグルシートからのデータ読み込みなので、Exccelを一切使わない方法でグラフ作成ができました。

Exccelのパワークエリは、強力なデータ前処理機能を備えていますが、少なくとも、今回のデータ処理では、Exccelを使った方が簡単になる、ということはありませんでした。

一度しかしない処理やパワークエリの方が簡単になる処理は、Excelを利用した方がいい場合がありますが、繰り返しの処理ではRのコードはかなり便利だと思います。

Rのコードでの前処理は、何か特別なことをしている訳ではありません。単に、Excelのシートで関数を使ったり、コピペしたりしてデータの前処理をしていたことをRのコードで置き換えているようなものです。中には、Excelのシートで処理した方が速く、簡単にできることも多いと思います。

しかし、Excelのシートでの処理は、例えば、1週間後、1カ月後、1年後に再現できるかというと、かなり難しいと思います。まして、他人に処理内容を伝える必要があるとすると、詳細なメモの作成が必須になります。

Rのコードでの処理は、誰が実行しても、即時に同じ結果を得られるので、特に、繰り返すことがある処理については、Excelでの処理よりもはるかに優れた方法だと思います。RPAも同様の目的のものだと思われますが、Rは無料で導入できます。

頻繁なコピペや関数処理をExcelシート上で行うことは、データの誤入力、誤消去の可能性が高いので、可能な限りしたくなくなりました。



↓今回のグラフ作成では、下記の
Johns Hopkins CSSEとKaggleのサイトのデータを用いています。データファイル作成者に感謝します。


Kaggleのデータの出所のサイトです。マップがメインのダッシュボードです


↓感染者数などのデータがまとまっています。新しい情報も速く反映されているようです。




↓WHOのサイトでも、感染者数、地域などの「Situation Report」が日々更新されています。関心がある場合は、一日に一度見るといいのではないかと思います。




↓「潜伏期間」「基本再生産数 R0」などを推定している研究論文です。



​​
-----------------------------------------------------------------




------------------------------------------------------
 新型コロナウイルス(2019-novel coronavirus)対策もインフルエンザ対策と同じで、手洗い、うがい、マスク着用(咳エチケット)などが対策になるようです。





  病院で使用されているマスクなので安心感があります。医療用不織布首位のメーカー製です。






次亜塩素酸で除菌、ウイルスを抑制します。




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

★おすすめの記事 ​​

◆インフルエンザの流行が始まったようです:今年は流行の始まりが早いようです




◆Netflixの4半期決算報告で紹介されている作品は?:決算報告資料は、Netflixの話題作を探す一つの手段です

◆Netflix (NFLX)の第3四半期決算発表で、NFLXの株価上昇:1株利益が予想を上回る:「ストレンジャー・シングス」効果?で有料会員数の増加数は前年同期を上回る






◆How Windows Sonic looks like.​​:Windows Sonic for Headphonesの音声と2chステレオ音声の比較:7.1.2chテストトーンの比較で明らかになった違い:一目で違いがわかりました







----------------------------------------------------------------------------------------------------------
​​​​​





お気に入りの記事を「いいね!」で応援しよう

Last updated  2020.02.10 15:31:35
コメント(0) | コメントを書く


PR

Recent Posts

Free Space







Rebatesお友達紹介キャンペーン

​​​​

Category

Archives

Comments

digital_21@ Re[1]:◆【新型コロナ】やっぱり、PCR検査(08/02) 背番号のないエース0829さんへ すてきな内…
背番号のないエース0829@ Re:◆【新型コロナ】やっぱり、PCR検査 「日本一遅い成人式が、無事終了 !!」に、…

Keyword Search

▼キーワード検索

Rakuten Card


© Rakuten Group, Inc.
X