Soumettre la recherche
Mettre en ligne
2017年3月版データマエショリスト入門(誤植修正版)
•
5 j'aime
•
1,709 vues
Yuya Matsumura
Suivre
https://www.slideshare.net/mattuyuya/20173-73273679 の誤植修正版
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 53
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
2016年6月版データマエショリスト入門
2016年6月版データマエショリスト入門
Yuya Matsumura
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
Nobuaki Oshiro
R入門(dplyrでデータ加工)-TokyoR42
R入門(dplyrでデータ加工)-TokyoR42
Atsushi Hayakawa
Tokyo r47 beginner_2
Tokyo r47 beginner_2
Takashi Minoda
Tokyo r33 beginner
Tokyo r33 beginner
Takashi Minoda
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920
Nobuaki Oshiro
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101
Nobuaki Oshiro
Tokyor60 r data_science_part1
Tokyor60 r data_science_part1
Yohei Sato
Recommandé
2016年6月版データマエショリスト入門
2016年6月版データマエショリスト入門
Yuya Matsumura
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
Nobuaki Oshiro
R入門(dplyrでデータ加工)-TokyoR42
R入門(dplyrでデータ加工)-TokyoR42
Atsushi Hayakawa
Tokyo r47 beginner_2
Tokyo r47 beginner_2
Takashi Minoda
Tokyo r33 beginner
Tokyo r33 beginner
Takashi Minoda
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920
Nobuaki Oshiro
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101
Nobuaki Oshiro
Tokyor60 r data_science_part1
Tokyor60 r data_science_part1
Yohei Sato
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
Nobuaki Oshiro
Tokyo r50 beginner_2
Tokyo r50 beginner_2
Takashi Minoda
Rによるデータ整形入門 Introduction to Data Transformation with R
Rによるデータ整形入門 Introduction to Data Transformation with R
Yukihiro NAKAJIMA
Tokyor36
Tokyor36
TokorosawaYoshio
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
Nobuaki Oshiro
Tokyo r28 1
Tokyo r28 1
Takashi Minoda
20161127 doradora09 japanr2016_lt
20161127 doradora09 japanr2016_lt
Nobuaki Oshiro
Yamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッション
考司 小杉
HiroshimaR4_LT_sakaue
HiroshimaR4_LT_sakaue
SAKAUE, Tatsuya
10分で分かるr言語入門ver2.5
10分で分かるr言語入門ver2.5
Nobuaki Oshiro
HiRoshimaR3_IntroR
HiRoshimaR3_IntroR
SAKAUE, Tatsuya
rstanで個人のパラメーターを推定した話
rstanで個人のパラメーターを推定した話
Yuya Matsumura
R による文書分類入門
R による文書分類入門
Takeshi Arabiki
Hiroshimar4_Rintro
Hiroshimar4_Rintro
SAKAUE, Tatsuya
初心者のためのRとRStudio入門 vol.2
初心者のためのRとRStudio入門 vol.2
OWL.learn
JASELE2015-KumamotoWS
JASELE2015-KumamotoWS
SAKAUE, Tatsuya
Tokyo r38
Tokyo r38
Takashi Minoda
HiroshimaR6_Introduction
HiroshimaR6_Introduction
SAKAUE, Tatsuya
プログラマのための文書推薦入門
プログラマのための文書推薦入門
y-uti
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門
Koichi Hamada
2017年3月版データマエショリスト入門
2017年3月版データマエショリスト入門
Yuya Matsumura
Introduction to R
Introduction to R
Yukihiro NAKAJIMA
Contenu connexe
Tendances
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
Nobuaki Oshiro
Tokyo r50 beginner_2
Tokyo r50 beginner_2
Takashi Minoda
Rによるデータ整形入門 Introduction to Data Transformation with R
Rによるデータ整形入門 Introduction to Data Transformation with R
Yukihiro NAKAJIMA
Tokyor36
Tokyor36
TokorosawaYoshio
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
Nobuaki Oshiro
Tokyo r28 1
Tokyo r28 1
Takashi Minoda
20161127 doradora09 japanr2016_lt
20161127 doradora09 japanr2016_lt
Nobuaki Oshiro
Yamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッション
考司 小杉
HiroshimaR4_LT_sakaue
HiroshimaR4_LT_sakaue
SAKAUE, Tatsuya
10分で分かるr言語入門ver2.5
10分で分かるr言語入門ver2.5
Nobuaki Oshiro
HiRoshimaR3_IntroR
HiRoshimaR3_IntroR
SAKAUE, Tatsuya
rstanで個人のパラメーターを推定した話
rstanで個人のパラメーターを推定した話
Yuya Matsumura
R による文書分類入門
R による文書分類入門
Takeshi Arabiki
Hiroshimar4_Rintro
Hiroshimar4_Rintro
SAKAUE, Tatsuya
初心者のためのRとRStudio入門 vol.2
初心者のためのRとRStudio入門 vol.2
OWL.learn
JASELE2015-KumamotoWS
JASELE2015-KumamotoWS
SAKAUE, Tatsuya
Tokyo r38
Tokyo r38
Takashi Minoda
HiroshimaR6_Introduction
HiroshimaR6_Introduction
SAKAUE, Tatsuya
プログラマのための文書推薦入門
プログラマのための文書推薦入門
y-uti
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門
Koichi Hamada
Tendances
(20)
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
Tokyo r50 beginner_2
Tokyo r50 beginner_2
Rによるデータ整形入門 Introduction to Data Transformation with R
Rによるデータ整形入門 Introduction to Data Transformation with R
Tokyor36
Tokyor36
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
Tokyo r28 1
Tokyo r28 1
20161127 doradora09 japanr2016_lt
20161127 doradora09 japanr2016_lt
Yamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッション
HiroshimaR4_LT_sakaue
HiroshimaR4_LT_sakaue
10分で分かるr言語入門ver2.5
10分で分かるr言語入門ver2.5
HiRoshimaR3_IntroR
HiRoshimaR3_IntroR
rstanで個人のパラメーターを推定した話
rstanで個人のパラメーターを推定した話
R による文書分類入門
R による文書分類入門
Hiroshimar4_Rintro
Hiroshimar4_Rintro
初心者のためのRとRStudio入門 vol.2
初心者のためのRとRStudio入門 vol.2
JASELE2015-KumamotoWS
JASELE2015-KumamotoWS
Tokyo r38
Tokyo r38
HiroshimaR6_Introduction
HiroshimaR6_Introduction
プログラマのための文書推薦入門
プログラマのための文書推薦入門
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる 統計解析・データマイニング R言語入門
Similaire à 2017年3月版データマエショリスト入門(誤植修正版)
2017年3月版データマエショリスト入門
2017年3月版データマエショリスト入門
Yuya Matsumura
Introduction to R
Introduction to R
Yukihiro NAKAJIMA
Tokyo r27
Tokyo r27
Takashi Minoda
Intoroduction of Pandas with Python
Intoroduction of Pandas with Python
Atsushi Hayakawa
Rを用いたGIS
Rを用いたGIS
Mizutani Takayuki
Stan勉強会資料(前編)
Stan勉強会資料(前編)
daiki hojo
R's anti sparseness
R's anti sparseness
ybenjo
Rを用いた外国語教育データの整理・要約
Rを用いた外国語教育データの整理・要約
Yusaku Kawaguchi
Tokyor23 doradora09
Tokyor23 doradora09
Nobuaki Oshiro
for関数を使った繰り返し処理によるヒストグラムの一括出力
for関数を使った繰り返し処理によるヒストグラムの一括出力
imuyaoti
LET2011: Rによる教育データ分析入門
LET2011: Rによる教育データ分析入門
Yuichiro Kobayashi
Go言語のスライスを理解しよう
Go言語のスライスを理解しよう
Yasutaka Kawamoto
Rユーザのためのspark入門
Rユーザのためのspark入門
Shintaro Fukushima
RでGISハンズオンセッション
RでGISハンズオンセッション
arctic_tern265
#crazy-js Quiz
#crazy-js Quiz
Takaki Hoshikawa
Tokyo r45 beginner_2
Tokyo r45 beginner_2
Takashi Minoda
10min r study_tokyor25
10min r study_tokyor25
Nobuaki Oshiro
10min r study_tokyor25
10min r study_tokyor25
Nobuaki Oshiro
RとCDISC
RとCDISC
Masafumi Okada
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第5回 ‟配列と構造体„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第5回 ‟配列と構造体„
和弘 井之上
Similaire à 2017年3月版データマエショリスト入門(誤植修正版)
(20)
2017年3月版データマエショリスト入門
2017年3月版データマエショリスト入門
Introduction to R
Introduction to R
Tokyo r27
Tokyo r27
Intoroduction of Pandas with Python
Intoroduction of Pandas with Python
Rを用いたGIS
Rを用いたGIS
Stan勉強会資料(前編)
Stan勉強会資料(前編)
R's anti sparseness
R's anti sparseness
Rを用いた外国語教育データの整理・要約
Rを用いた外国語教育データの整理・要約
Tokyor23 doradora09
Tokyor23 doradora09
for関数を使った繰り返し処理によるヒストグラムの一括出力
for関数を使った繰り返し処理によるヒストグラムの一括出力
LET2011: Rによる教育データ分析入門
LET2011: Rによる教育データ分析入門
Go言語のスライスを理解しよう
Go言語のスライスを理解しよう
Rユーザのためのspark入門
Rユーザのためのspark入門
RでGISハンズオンセッション
RでGISハンズオンセッション
#crazy-js Quiz
#crazy-js Quiz
Tokyo r45 beginner_2
Tokyo r45 beginner_2
10min r study_tokyor25
10min r study_tokyor25
10min r study_tokyor25
10min r study_tokyor25
RとCDISC
RとCDISC
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第5回 ‟配列と構造体„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第5回 ‟配列と構造体„
Dernier
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Dernier
(11)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
2017年3月版データマエショリスト入門(誤植修正版)
1.
2017年3月版 データ・マエショリスト入門 データの読み込みから{dplyr}の基本まで @y__mattu 12017/3/18 Tokyo.R #59
2.
自己紹介 • 松村優哉 @y__mattu •
ブログ:http://y-mattu.hatenablog.com/ • 大学4年生 • 分野:計量経済学、統計学(因果推論)、マーケティング • 言語:R, SAS • R歴:2年くらい • 近況:もうすぐ卒業&進学 22017/3/18 Tokyo.R #59
3.
この発表について • 2016/6/19 Tokyo.R
#54 初心者セッションの加筆修正版 2017/3/18 Tokyo.R #59 3
4.
アジェンダ • データの読み込み {readr}, {data.table},
{readxl}… • データの前処理 • {dplyr} • select, filter, mutate, group_by, arrange, 各種join • おまけ: {tidyverse} 2017/3/18 Tokyo.R #59 4
5.
データ分析の流れ 2017/3/18 Tokyo.R #59
5 データ取得 前処理 可視化・モデリング
6.
データ分析の流れ 2017/3/18 Tokyo.R #59
6 データ取得 前処理 可視化・モデリング Webから取得 (スクレイピング) 外部ファイル (csv, tsv, Excel,…) データベース (SQL)
7.
データ分析の流れ 2017/3/18 Tokyo.R #59
7 データ取得 前処理 可視化・モデリング 集計 マージ 型変換 絞り込み
8.
データ分析の流れ 2017/3/18 Tokyo.R #59 データ取得 前処理 可視化・モデリング 散布図 ヒストグラム 箱ひげ図 回帰分析 (重回帰、ロジスティック、…) ランダムフォレスト サポートベクトルマシン 8
9.
今日扱うのはここ 2017/3/18 Tokyo.R #59
9 前処理 可視化・モデリング 集計 マージ 型変換 絞り込み データ取得 外部ファイル (csv, tsv, Excel,…)
10.
はじめに • ワーキングディレクトリの設定 • ライブラリに入っている関数の使い方 2017/3/18
Tokyo.R #59 10 setwd(“./TokyoR/59”) #ディレクトリの指定 #方法1 library(readr) dat <- read_csv(“hoge.csv”) 方法2 readr::read_csv (“hoge.csv”)
11.
データの読み込み(CSV) • パッケージを使わない場合 • 高速な読み込み1 •
高速な読み込み2 2017/3/18 Tokyo.R #59 11 dat <- read.csv(“sample.csv”, stringAsFactors = FALSE) library(readr) dat <- read_csv(“sample.csv”) library(data.table) dat <- fread(“sample.csv”, data.table = FALSE) data.tableではなくdata.frameとして扱いたい場合は追加 おまじない
12.
データの読み込み速度比較 2017/3/18 Tokyo.R #59
12 csvファイル(log.csv) 約500MB 約350万行×5列の簡単なログデータ 検証環境 Mac OS 10.11.5 Corei7 メモリ16GB R 3.3.3
13.
データの読み込み速度比較 2017/3/18 Tokyo.R #59
13 > system.time(csv1 <- read.csv(“log.csv")) # ユーザ システム 経過 # 59.801 1.337 63.681 実行時間を計測 > system.time(csv2 <- readr::read_csv(“log.csv")) # ユーザ システム 経過 # 5.005 0.527 7.732 > system.time(csv3 <- data.table::fread(“log.csv")) # ユーザ システム 経過 # 3.502 0.425 6.965
14.
データの読み込み(TSV) • パッケージを使わない場合 • {readr} •
{data.table} 2017/3/18 Tokyo.R #59 14 dat <- read.delim(“sample.tsv”, stringAsFactors = FALSE) dat <- readr::read_tsv(“sample.tsv”) dat <- data.table::fread(“sample.tsv”, data.table = FALSE)
15.
データの読み込み(その他の区切り値) • パッケージを使わない場合 • {readr} •
{data.table} 2017/3/18 Tokyo.R #59 15 dat <- read.table(“sample.tsv”, stringAsFactors = FALSE, sep = “|”) dat <- readr::read_delim(“sample.tsv”, “|”) dat <- data.table::fread(“sample.tsv”)
16.
データの読み込み(Excel) • Excelを読み込めるパッケージ {xlsx}, {gdata},
{XLConnect}, {openxlsx}, {redxl} 爆速、かつ文字コードや日付の処理も完璧にやってくれる 2017/3/18 Tokyo.R #59 16 dat <- readxl::read_excel(“sample.xlsx”, sheet = “シート名”) #シート名は番号でもOK
17.
データの読み込み(その他拡張子) • SAS(sas7bdat)、STATA()、SPSS(sav)形式のファイル →{haven}パッケージで読み込み 2017/3/18 Tokyo.R
#59 17 dat <- haven::read_sas(“sample.sas7bda”)
18.
コマンドとかオプションとかメンドイ… • RStudioのGUI読み込み 2017/3/18 Tokyo.R
#59 18 Import Dataset で形式を選択
19.
2017/3/18 Tokyo.R #59
19 読み込みのコマンドもわかる 読み込んだときの様子がプレビューできる 区切り値や欠損値の設定も可能 クリックでファイル選択
20.
エンコーディングを指定したい • Windowsの文字コードはShift-JIS(CP932) • Macの文字コードはUTF8 •
Windowsで作られた(日本語を含む)ファイルをMacで読む ときはEncoding=“CP932” • Macで作られた(日本語を含む)ファイルをWindowsで読む ときはEncoding=“UTF8” 2017/3/18 Tokyo.R #59 20
21.
エンコーディング(例:CSVをCP932で) • パッケージを使わない場合 • {readr} •
{data.table} 2017/3/18 Tokyo.R #59 21 dat <- read.csv(“sample.csv”, strringAsFactors = FALSE, fileEncoding = “cp932”) dat <- readr::read_csv(“sample.csv”, locale=locale(encoding=“cp932")) dat <- data.table::fread(“sample.csv”, data.table = FALSE) %>% dplyr::mutate(VAR1 = iconv(VAR1, from = “UTF8", to = “CP932"))
22.
いよいよデータの前処理 • みんな大好きirisデータ • アヤメの3種(setosa,
vrisicolor, verginica)についてsepal (がく片)とpetal(花弁)の長さ(length)と幅(width)を 測ったデータセット 2017/3/18 Tokyo.R #59 22 Setosa Versicolor Verginica d <- iris
23.
データの構造を確認 • Rの標準関数 • {dplyr} 2017/3/18
Tokyo.R #59 23 > str(d) #'data.frame': 150 obs. of 5 variables: # $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... # $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... # $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... # $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... # $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ... > dplyr::glimpse(d) # Observations: 150 # Variables: 5 # $ Sepal.Length (dbl) 5.1, 4.9, 4.7, 4.6, 5.0, 5.4, 4.6, 5.0, 4.4, 4.9, 5.4, 4.8, 4.8, 4.3... # $ Sepal.Width (dbl) 3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1, 3.7, 3.4, 3.0, 3.0... # $ Petal.Length (dbl) 1.4, 1.4, 1.3, 1.5, 1.4, 1.7, 1.4, 1.5, 1.4, 1.5, 1.5, 1.6, 1.4, 1.1... # $ Petal.Width (dbl) 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.2, 0.1, 0.1... # $ Species (fctr) setosa, setosa, setosa, setosa, setosa, setosa, setosa, setosa, set...
24.
データの構造を確認 • Rstudioだと 2017/3/18 Tokyo.R
#59 24
25.
データの構造を確認 • Rstudioだとstr()の中身が表示される 2017/3/18 Tokyo.R
#59 25
26.
データの構造を確認 • summary関数で要約統計量 2017/3/18 Tokyo.R
#59 26 > summary(iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species # Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100 setosa :50 # 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300 versicolor:50 # Median :5.800 Median :3.000 Median :4.350 Median :1.300 virginica :50 # Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199 # 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800 # Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
27.
集計してみる • Rの標準関数 2017/3/18 Tokyo.R
#59 27 > table(d$Species) # setosa versicolor virginica # 50 50 50
28.
集計してみる • {dplyr} 2017/3/18 Tokyo.R
#59 28 > group_by(d, Species) %>% + summarise(number = n()) #Source: local data frame [3 x 2] # Species number # (chr) (int) #1 setosa 50 #2 versicolor 50 #3 virginica 50 数えたい変数でグルーピング summarise関数 の中でカウント
29.
変数を追加したい1(例:花弁の縦横比) • Rの標準関数 または 2017/3/18 Tokyo.R
#59 29 transform(d, petal.w.l = d$Petal.Length / d$Petal.Width) d$petal.w.l = d$Petal.Length / d$Petal.Width
30.
変数を追加したい1(例:花弁の縦横比) • {dplyr} 2017/3/18 Tokyo.R
#59 30 dplyr::mutate(d, petal.w.l = Petal.Length / Petal.Width)
31.
ダミー変数も作れる 2017/3/18 Tokyo.R #59
31 species_dummy <- d %>% mutate(category = factor(Species, levels=c(“setosa”, “virginica”, “versicolor”), labels=LETTERS[1:3]))
32.
特定の列だけを取り出したい 例:Lengthにしか興味がないとき • パッケージを使わない 2017/3/18 Tokyo.R
#59 32 iris_length <- d[,c(1,3)] #列番号で直接指定
33.
特定の列だけを取り出したい 例:Lengthにしか興味がないとき • {dplyr} • 他にも、特定の変数を抜いたりもできる •
dplyr の select() の引数に指定可能なバリエーションまとめ 2017/3/18 Tokyo.R #59 33 iris_length <- select(d, Sepal.Length, Petal.Length) #列名を指 定 iris_length <- select(d, row_number(c(1,3))) #列番号を指定 iris_length <- select(d, contains(“length”, ignore.case = TRUE)) #”length”が含まれる列を選択 大文字、小文字を区別しない
34.
特定の行を取り出したい setosaのみ, 長さx以上, etc… •
Rの標準関数 2017/3/18 Tokyo.R #59 34 iris_setosa <- subset(d, Species == “setosa”) #条件を指定 iris5 <- iris5 <- subset(d, Sepal.Length > 5.0) #条件を指定
35.
特定の行を取り出したい setosaのみ, 長さx以上, etc… •
{dplyr} • 複数条件も可能 (参考文献「dplyrを使いこなす!基礎編」を参照) 2017/3/18 Tokyo.R #59 35 iris_setosa <- filter(d, Species == “setosa”) #条件を指定 iris5 <- filter(d, Sepal.Length > 5.0) #条件を指定
36.
ソートしたい • パッケージを使わない 2017/3/18 Tokyo.R
#59 36 length_asc <- d[order(d[, 2]), ] #2列目(Sepal.Width)基準に昇順 length_desc <- d[order(d[, 2], decreasing = T), ] #降順
37.
ソートしたい • {dplyr} 2017/3/18 Tokyo.R
#59 37 length_asc <- arrange(d, Sepal.Width) #Sepal.Width基準に昇順 length_desc <- arrange(d, descending(Sepal.Width)) #降順
38.
2017/3/18 Tokyo.R #59
38 いったんIrisから離れて…
39.
テーブルをマージしたい • 複数のテーブルの組み合わせ 2017/3/18 Tokyo.R
#59 39 引用:「dplyrを使いこなす!JOIN編」
40.
テーブルをマージしたい(inner_join) 2017/3/18 Tokyo.R #59
40 ab_inner<- inner_join(a, b, by = “x1”) 引用:「dplyrを使いこなす!JOIN編」
41.
テーブルをマージしたい(left_join) 2017/3/18 Tokyo.R #59
41 ab_left <- left_join(a, b, by = “x1”) 引用:「dplyrを使いこなす!JOIN編」
42.
テーブルをマージしたい(full_join) 2017/3/18 Tokyo.R #59
42 ab_full <- full_join(a, b, by = “x1”) 引用:「dplyrを使いこなす!JOIN編」
43.
テーブルをマージしたい(anti_join) 2017/3/18 Tokyo.R #59
43 ab_anti <- anti_join(a, b, by = “x1”) 引用:「dplyrを使いこなす!JOIN編」
44.
なぜ{dplyr}なのか • 速い • 依存パッケージ{magrittr}により%>%が使える •
%>%を使わないと 2017/3/18 Tokyo.R #59 44 d <- iris sepal_length <- select(d, contains(“Sepal”), Speceis) sepal_group <- group_by(sepal_length, Speceis) sepal_mean <- summarise(d_length, s.w.mean = mean(Sepal.Width), s.l.mean = mean(Sepal.Length)) sepal_mean
45.
なぜ{dplyr}なのか • 出力(種類ごとにがく片の平均値を算出) 2017/3/18 Tokyo.R
#59 45 > d # Source: local data frame [3 x 3] # # Species s.w.mean s.l.mean # (fctr) (dbl) (dbl) # 1 setosa 3.428 5.006 # 2 versicolor 2.770 5.936 # 3 virginica 2.974 6.588
46.
なぜ{dplyr}なのか • %>%を使うと 2017/3/18 Tokyo.R
#59 46 d <- iris %>% select(contains("Sepal"), Species) %>% group_by(Species)%>% summarise(s.w.mean = mean(Sepal.Width), s.l.mean = mean(Sepal.Length)) d
47.
データの前処理は他にも… • {dplyr} do, 各種Window関数 •
{tidyr} gather, spreadなど縦型と横型の変換について • {lubridate} 日付データの扱い • {purrr} リストデータの処理 2017/3/18 Tokyo.R #59 47
48.
もっと深く知りたい人は • Kazutan.R • データハンドリング、可視化、Rmarkdownを中心にコ マンドと用例で解説 2017/3/18
Tokyo.R #59 48
49.
おまけ:{tidyverse} • dplyr、tidyr、ggplot2など便利なパッケージが一気ににインス トールできる • そのうちのメインになるもの(readrやdplyrなどが一気に読み込 める) •
詳しくは俺たちのtidyverseはこれからだ!などを参照 2017/3/18 Tokyo.R #59 49 install.packages(“tidyverse”) library(tidyverse)
50.
結論 パッケージを使って 柔軟かつ高速な前処理を!! 2017/3/18 Tokyo.R #59
50
51.
その他参考文献 • データの読み込みについて 表形式ファイルの読み込み関数あれこれ: readrパッケージの導入を兼ねて 文字化けこわい、こわくない? readr,haven,readxl R:read.csv
/ read.tableで型と列名を指定して読み込む。 R で tsv ファイルの読み込み RでExcelのデータを読む方法 2017/3/18 Tokyo.R #59 51
52.
その他参考文献 • データの処理に関して dplyrを使いこなす!基礎編 dplyrを使いこなす!Window関数編 dplyrを使いこなす!JOIN編 Rの data.table
と data.frame を dplyr で区別なく扱う R dplyr, tidyr でのグルーピング/集約/変換処理まとめ {tidyr}でよく使う関数のメモ Hadley Ecosystem 2016 • その他 irisの正体 2017/3/18 Tokyo.R #59 52
53.
Enjoy ! 532017/3/18 Tokyo.R
#59
Télécharger maintenant