はじめて、データサイエンスを学ぶかたへのお勧め
[2020/3/28]
tidyverse
Package を活用した、データサイエンスの流れ。R
の Base でも、殆どすべての事は可能だが、論理的かつ高速に作業を進めるために、広く使われている、tidyverse
Package による作業の流れを示す。
Tidyverse 参照。特に、Online で読むことができる、r4ds(参照)、R Studio サイトにある、Cheatsheet は基本。
ggplot2
: The Grammar of Graphics(グラフィックの文法)と呼ばれ、論理的にグラフを作成する。tidyverse
Package を読み込むと同時に読み込まれ、全体の 核となる。readr
: tidyverse
Package を読み込むときに、同時に読み込まれる。他に、Excel シート読み込みの、readxl
, SPSS, Stata, SAS 読み込みの、haven
、Google Drive からの読み込みには、googledrive
, JSON タイプのファイルのための jsonlite
, XML のための xml2
, web API のための httr
, web scraping(web ページからの読み込み)の rvest
、データベース連携のため DBI
がある。データベースについて詳細は R Studio のページ 参照.tidyr
, dplyr
: tidyverse
Package を読み込むときに、同時に読み込まれる。他に、文字列処理の stringr
, Factor を扱う forcats
, 日付と時間を扱う lubridate
, 日時の計算のための hms
, blob (binary) データを扱う、blob
がある。purr
: tidyverse
Package を読み込むときに、同時に読み込まれる。他に、pipe (%>%) を使えるようにする magrittr
, Base の paste
の代替・拡張となる glue
によって、文字列やデータの結合を行う。modelr
Package が r4ds では使われているが、現在開発中。broom
Package 参照。以上は、Tidyverse からの引用。
[2020/3/28]
R
などの学びには、Interactive Learning Tools は有効だが、ネット上のものは、無料で公開されているものは、ほんの少しで、十分な学びができるのは、殆どが有償。無償でかつ、特に、すぐれているものは紹介していくが、いずれは、自分で作りたい。Server が必要となることが多い。しかし、それでは、だれでも、作成するというわけにはいかないので、Server なしで Ineractive に、Exercise を解きながら学ぶツールを活用していきたい。swirl
を作成する、swirlify
、R Markdown の Shiny を利用する、learnr
、DataCamp が提供するものである。html
and Web Scraping - Web Site の読み込みxml2::read_html
で読み込み、rvest::html_nodes
で node を指定し、rvest::html_table
で、html の table を data frame に変換。rvest
package を読み込むと、xml2
も読み込む。library(rvest)
url <- "https://www.mhlw.go.jp/stf/newpage_09964.html"
h <- read_html(url)
tab <- h %>% html_nodes("table")
tab_0 <- tab[[3]] %>% html_table
str(tab_0)
## 'data.frame': 247 obs. of 8 variables:
## $ X1: chr "新No." "1" "2" "3" ...
## $ X2: chr "旧No." "1" "2" "3" ...
## $ X3: chr "確定日" "1/15" "1/24" "1/25" ...
## $ X4: chr "年代" "30代" "40代" "30代" ...
## $ X5: chr "性別" "男" "男" "女" ...
## $ X6: chr "居住地" "神奈川県" "中国\r\n\t\t\t\t(武漢市)" "中国\r\n\t\t\t\t(武漢市)" ...
## $ X7: chr "周囲の患者の発生※" "なし" "なし" "なし" ...
## $ X8: chr "濃厚接触者の状況" "38名特定\r\n\t\t\t\t健康観察終了" "32名特定\r\n\t\t\t\t健康観察終了" "7名特定\r\n\t\t\t\t健康観察終了" ...
[2020/03/05] 文字列の置き換え stringr::str_replace("中国\r\n\t\t\t\t(武漢市)", pattern = "\r\n\t\t\t\t", replacement = "")
[2020/03/05] 文字を特定のものに置き換え sprintf("男女別発症者数 (%s 件の「調査中」「確認中」のデータを除く)", 5)
ggplot2
[2020/03/05] ggplot2
において、x-軸ラベルの形式 theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
[2020/03/05] ggplot2
において、time series の x-軸ラベルの形式 scale_x_date(breaks = "2 days", labels = date_format("%m/%d"))
[2020/03/05] ggplot2
設定例 ggplot(aes(x = reorder(居住地, 計), y = 計)) + geom_col() + coord_flip() + theme_gray(base_family = "HiraKakuPro-W3") + xlab("居住地")
For comments, please send us an email to: freeopenonlinedatascience4all[at]gmail.com