◆Excelを使わないデータ分析・処理:新型コロナウイルスの感染者数データのグラフ化の例
新型コロナウイルスの感染者のデータをグラフ化したりしていますが、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にあります。AnnouncementWe created a GitHub repo: https://github.com/CSSEGISandData/2019-nCoVIt 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)対策もインフルエンザ対策と同じで、手洗い、うがい、マスク着用(咳エチケット)などが対策になるようです。【数量限定!】ドラえもん ミューズ ノータッチ泡ハンドソープ スパークリングゆずの香り 本体セット(本体ソープディスペンサー1個+つめかえボトル250ml (約250回分)×1個セット)【医薬部外品】 殺菌 消毒 保湿価格:1243円(税別、送料別)(2019/12/11時点)楽天で購入【送料無料・まとめ買い×3個セット】健栄製薬 手ピカスプレー 手指消毒用 アルコールスプレー 420ml(4987286415420)価格:2062円(税別、送料別)(2019/11/23時点)楽天で購入いまだけ!★ポイント最大16倍★【全国配送可】-ホギメディカルマスク スタンダード(3層・サイドウイングなし) 1箱(30枚入) ホギ 型番MM-FHMDB6 JAN4549223245202 aso 8-6219-03 -【医療・研究機器】価格:678円(税別、送料別)(2019/12/12時点)楽天で購入 病院で使用されているマスクなので安心感があります。医療用不織布首位のメーカー製です。【全品ポイント3倍】携帯用 エアドクター ポータブル 6枚セット【紀陽除虫菊 エアードクター 6個 インフルエンザ対策 風邪予防 ウイルス除去 除菌 消臭剤 二酸化塩素 花粉症 AirDoctor PORTABLE】【メール便送料無料】【代引不可】【同梱不可】価格:3670円(税別、送料別)(2019/11/23時点)楽天で購入2019年度産 お茶 鹿児島茶 さつまの風100g 緑茶 日本茶 深蒸し茶 煎茶 茶葉 ポスト投函便送料無料価格:540円(税別、送料別)(2019/11/23時点)楽天で購入次亜塩素酸で除菌、ウイルスを抑制します。【最大44倍お買い物マラソン】【決算セール 10台限定】パナソニック F-MVB15-WZ ジアイーノ ziaino 次亜塩素酸 空間除菌脱臭機(ホワイト) 〜10畳 ( F-MV1500-WZ 同等品)[☆【個人後払いNG】【あす楽関東】]楽天で購入パナソニック Panasonic F-VC70XS-TM 加湿空気清浄機 木目調 [適用畳数:31畳 /最大適用畳数(加湿):19畳 /PM2.5対応][空気清浄機 加湿器 ナノイー 花粉 FVC70XSTM]価格:52800円(税別、送料別)(2019/11/23時点)楽天で購入------------------------------------------------------★おすすめの記事 ◆インフルエンザの流行が始まったようです:今年は流行の始まりが早いようです◆Netflixの4半期決算報告で紹介されている作品は?:決算報告資料は、Netflixの話題作を探す一つの手段です◆Netflix (NFLX)の第3四半期決算発表で、NFLXの株価上昇:1株利益が予想を上回る:「ストレンジャー・シングス」効果?で有料会員数の増加数は前年同期を上回る◆How Windows Sonic looks like.:Windows Sonic for Headphonesの音声と2chステレオ音声の比較:7.1.2chテストトーンの比較で明らかになった違い:一目で違いがわかりました----------------------------------------------------------------------------------------------------------