通称: 「宇宙本」
install.packages("パッケージ名")
でインストール
install.packages("ggplot2")
ざっくり:
install.packages("tidyverse")
でインストール── Attaching packages ───────────────────────────────────────────────────────────────────────── tidyverse 1.2.1 ──
✓ ggplot2 3.3.0 ✓ purrr 0.3.4
✓ tibble 3.0.1 ✓ dplyr 0.8.5
✓ tidyr 1.1.0 ✓ stringr 1.4.0
✓ readr 1.3.1 ✓ forcats 0.4.0
── Conflicts ──────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
x dplyr::filter() masks stats::filter()
x dplyr::lag() masks stats::lag()
読み込まれるパッケージ
setwd()
を書いているものもありますが、RStudioプロジェクトでは必要ありません。read.csv()
stringsAsFactors = TRUE
がデフォルトになっているので、stringsAsFactors = FALSE
をつけることを推奨します。readr::read_csv()
data.table::fread()
readr::read_csv()
よりも高速data.table = FALSE
user system elapsed
3.916 0.162 4.294
user system elapsed
0.925 0.051 1.097
user system elapsed
1.349 0.039 0.820
expr | min | lq | mean | median | uq | max | neval |
---|---|---|---|---|---|---|---|
read.csv() | 1871.3155 | 2222.0066 | 2361.4660 | 2347.1315 | 2452.3060 | 4529.984 | 1000 |
readr::read_csv() | 548.7358 | 811.9076 | 882.2824 | 860.2287 | 935.6320 | 1759.994 | 1000 |
data.table::fread() | 557.9172 | 617.1047 | 648.5004 | 643.6659 | 664.1492 | 1138.720 | 1000 |
read.delim()
read.delim()
は区切り値のファイルを読む標準関数read.csv()
は sep = ","
をつけたものreadr::read_tsv()
data.table::fread()
read.delim()
readr::read_delim()
data.table::fread()
read_***()
関数が一番オススメread.*** | read_*** | fread | |
---|---|---|---|
速さ(45MB) | 3秒 | 0.8 秒 | 0.6秒 |
区切り値の判定ミス | × | × | △ |
エンコーディング | ○ | ○ | △ |
haven パッケージで読み込み
Encoding=cp932
Encoding=UTF8
ググると、意外といろいろ出てきます
パッケージを使わないやり方より
2つのデータ形式(例: カテゴリごとの購買金額(千円))
Tokyo.R #79 の応用セッション を参照。
git clone https://github.com/ymattu/sampledata_small
[1] 6
結果 <- スタート地点
を書いて、やりたい処理をパイプでつないでいく
例
$
はお手軽だしよく使います。$
で 1 列だけ取り出す[1] "雑貨・日用品" "花・グリーン"
[3] "食品" "衣料品"
[5] "ヘルス&ビューティー" "家具・インテリア・家電"
[1] "2011-06-04"
[1] "2013-01-01"
たくさんあるけど例えば
ユーザー、年ごとに集計
inner_join()
left_join()
full_join()
anti_join()
Answer : C++を使っているから
例えばこんな感じ(a, b, c 3 つのデータ)
x1 x2
1 A 1
2 B 2
3 C 3
x1 x3
1 A TRUE
2 B FALSE
3 D TRUE
x1 x4
1 B 10
2 C 11
3 D 12
こうする…?
数が増えると大変!Answer : 初心者セッションの範囲をこえますが、
purrrパッケージを使うと簡単です。
purrr パッケージの参考資料→そろそろ手を出す purrr
tidyverse
は必須