Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yohei Sato
3,314 views
Tokyor39 yokkuns
Read more
12
Save
Share
Embed
Embed presentation
Download
Downloaded 27 times
1
/ 48
2
/ 48
3
/ 48
4
/ 48
5
/ 48
6
/ 48
7
/ 48
8
/ 48
9
/ 48
10
/ 48
11
/ 48
12
/ 48
13
/ 48
14
/ 48
15
/ 48
16
/ 48
17
/ 48
18
/ 48
19
/ 48
20
/ 48
21
/ 48
22
/ 48
23
/ 48
24
/ 48
25
/ 48
26
/ 48
27
/ 48
28
/ 48
29
/ 48
30
/ 48
31
/ 48
32
/ 48
33
/ 48
34
/ 48
35
/ 48
36
/ 48
37
/ 48
38
/ 48
39
/ 48
40
/ 48
41
/ 48
42
/ 48
43
/ 48
44
/ 48
45
/ 48
46
/ 48
47
/ 48
48
/ 48
More Related Content
ODP
LibreOffice 4 under NetBSD with pkgsrc
by
Ryo ONODERA
PPTX
Parquetはカラムナなのか?
by
Yohei Azekatsu
PDF
mlr-grep - レコード指向grep
by
Ryoichi KATO
PDF
Tokyor60 r data_science_part1
by
Yohei Sato
PDF
20131206 japan r
by
Yohei Sato
PDF
Rでレポートメール
by
Yohei Sato
PDF
Rで階層ベイズモデル
by
Yohei Sato
PDF
EasyHtmlReportの紹介
by
Yohei Sato
LibreOffice 4 under NetBSD with pkgsrc
by
Ryo ONODERA
Parquetはカラムナなのか?
by
Yohei Azekatsu
mlr-grep - レコード指向grep
by
Ryoichi KATO
Tokyor60 r data_science_part1
by
Yohei Sato
20131206 japan r
by
Yohei Sato
Rでレポートメール
by
Yohei Sato
Rで階層ベイズモデル
by
Yohei Sato
EasyHtmlReportの紹介
by
Yohei Sato
Similar to Tokyor39 yokkuns
PDF
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
by
Nagi Teramo
PDF
第8回 大規模データを用いたデータフレーム操作実習(2)
by
Wataru Shito
PDF
R言語勉強会#4.pdf
by
Takuya Kubo
PPTX
Tokyo r28 1
by
Takashi Minoda
PDF
Rデータ処理入門
by
Hiroki K
PDF
20170923 excelユーザーのためのr入門
by
Takashi Kitano
PPTX
Data frameあれこれ
by
weda654
PDF
R言語勉強会#8.pdf
by
Takuya Kubo
PDF
R note 01_ver1.2
by
Satoshi Kume
PDF
テーマ別勉強会(R言語)#2.pdf
by
Takuya Kubo
PDF
R言語勉強会#3.pdf
by
Takuya Kubo
PDF
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
by
Yasuyuki Sugai
PPTX
xtsパッケージで時系列解析
by
Nagi Teramo
PDF
R入門(dplyrでデータ加工)-TokyoR42
by
Atsushi Hayakawa
PDF
Rで学ぶデータマイニングI 第8章〜第13章
by
Prunus 1350
PDF
Rプログラミング02 「データ入出力編」デモ
by
wada, kazumi
PPTX
Time series-forecasting-14
by
hayatotsuchiya3
PDF
テーマ別勉強会(R言語)#3.pdf
by
Takuya Kubo
PPTX
R超入門機械学習をはじめよう
by
幹雄 小川
PDF
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
by
Yasuyuki Sugai
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
by
Nagi Teramo
第8回 大規模データを用いたデータフレーム操作実習(2)
by
Wataru Shito
R言語勉強会#4.pdf
by
Takuya Kubo
Tokyo r28 1
by
Takashi Minoda
Rデータ処理入門
by
Hiroki K
20170923 excelユーザーのためのr入門
by
Takashi Kitano
Data frameあれこれ
by
weda654
R言語勉強会#8.pdf
by
Takuya Kubo
R note 01_ver1.2
by
Satoshi Kume
テーマ別勉強会(R言語)#2.pdf
by
Takuya Kubo
R言語勉強会#3.pdf
by
Takuya Kubo
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
by
Yasuyuki Sugai
xtsパッケージで時系列解析
by
Nagi Teramo
R入門(dplyrでデータ加工)-TokyoR42
by
Atsushi Hayakawa
Rで学ぶデータマイニングI 第8章〜第13章
by
Prunus 1350
Rプログラミング02 「データ入出力編」デモ
by
wada, kazumi
Time series-forecasting-14
by
hayatotsuchiya3
テーマ別勉強会(R言語)#3.pdf
by
Takuya Kubo
R超入門機械学習をはじめよう
by
幹雄 小川
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
by
Yasuyuki Sugai
More from Yohei Sato
PDF
Tokyor60 opening
by
Yohei Sato
PDF
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組み
by
Yohei Sato
PPTX
Tokyor42_r_datamining_18
by
Yohei Sato
PDF
Tokyor42 ggplot2
by
Yohei Sato
PDF
Tokyor35 人工データの発生
by
Yohei Sato
PDF
ドリコムの分析環境とデータサイエンス活用事例
by
Yohei Sato
PDF
R言語で学ぶマーケティング分析 競争ポジショニング戦略
by
Yohei Sato
PDF
Rでピボットテーブル
by
Yohei Sato
PDF
第3回Japan rパネルディスカッション
by
Yohei Sato
PDF
Tokyor26 data fusion
by
Yohei Sato
PDF
Tokyor24 yokkuns
by
Yohei Sato
PDF
Tokyowebmining19 data fusion
by
Yohei Sato
PDF
傾向スコア解析とUplift Modelling
by
Yohei Sato
PDF
Complex network ws_percolation
by
Yohei Sato
PDF
異常行動検出入門(改)
by
Yohei Sato
PDF
Tokyor22 selection bias
by
Yohei Sato
PDF
Uplift Modelling 入門(1)
by
Yohei Sato
PDF
エンジニアサポート新年会2012 データマイニングcross 第1部
by
Yohei Sato
PDF
Japan r2 lt_yokkuns
by
Yohei Sato
PDF
Japan r2 tokyor
by
Yohei Sato
Tokyor60 opening
by
Yohei Sato
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組み
by
Yohei Sato
Tokyor42_r_datamining_18
by
Yohei Sato
Tokyor42 ggplot2
by
Yohei Sato
Tokyor35 人工データの発生
by
Yohei Sato
ドリコムの分析環境とデータサイエンス活用事例
by
Yohei Sato
R言語で学ぶマーケティング分析 競争ポジショニング戦略
by
Yohei Sato
Rでピボットテーブル
by
Yohei Sato
第3回Japan rパネルディスカッション
by
Yohei Sato
Tokyor26 data fusion
by
Yohei Sato
Tokyor24 yokkuns
by
Yohei Sato
Tokyowebmining19 data fusion
by
Yohei Sato
傾向スコア解析とUplift Modelling
by
Yohei Sato
Complex network ws_percolation
by
Yohei Sato
異常行動検出入門(改)
by
Yohei Sato
Tokyor22 selection bias
by
Yohei Sato
Uplift Modelling 入門(1)
by
Yohei Sato
エンジニアサポート新年会2012 データマイニングcross 第1部
by
Yohei Sato
Japan r2 lt_yokkuns
by
Yohei Sato
Japan r2 tokyor
by
Yohei Sato
Tokyor39 yokkuns
1.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 1/48 データ・ハンドリングRで学ぶデータマイニングⅠデータ解析[編]14~15章 里洋平(@yokkuns)
2.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 2/48 AGENDA 1.
自己紹介 2. データフレームの基本操作 3. フィルタリング 4. 並び替え 5. 列の追加 6. データフレームの結合 7. ピボットテーブル(reshape2) 8. 集約処理(dplyr) 2/49
3.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 3/48 自己紹介 3/49
4.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 4/48 4/49
5.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 5/48 5/49
6.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 6/48 データフレームの基本操作 6/49
7.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 7/48 データフレームとは Rでデータ分析するときに最も良く使うデータ構造 行列との違い· データフレームの各行・各列はラベル(名前)を持っており、ラベルを指定してデータを取り 出せる 行列はすべての要素が同じ型だがデータフレームはバラバラのデータ型を持てる - - 7/49
8.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 8/48 前からN行だけ見たい head関数 デフォルトは前から6行 head(airquality) ##
Ozone Solar.R Wind Temp Month Day ## 1 41 190 7.4 67 5 1 ## 2 36 118 8.0 72 5 2 ## 3 12 149 12.6 74 5 3 ## 4 18 313 11.5 62 5 4 ## 5 NA NA 14.3 56 5 5 ## 6 28 NA 14.9 66 5 6 8/49
9.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 9/48 前からN行だけ見たい head関数 第2引数を指定すると、前から指定した行までを取得出来る head(airquality,
3) ## Ozone Solar.R Wind Temp Month Day ## 1 41 190 7.4 67 5 1 ## 2 36 118 8.0 72 5 2 ## 3 12 149 12.6 74 5 3 9/49
10.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 10/48 後からN行だけ見たい tail関数 デフォルトは後から6行 tail(airquality) ##
Ozone Solar.R Wind Temp Month Day ## 148 14 20 16.6 63 9 25 ## 149 30 193 6.9 70 9 26 ## 150 NA 145 13.2 77 9 27 ## 151 14 191 14.3 75 9 28 ## 152 18 131 8.0 76 9 29 ## 153 20 223 11.5 68 9 30 10/49
11.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 11/48 後からN行だけ見たい tail関数 第2引数を指定すると、後から指定した行数を取得出来る tail(airquality,
3) ## Ozone Solar.R Wind Temp Month Day ## 151 14 191 14.3 75 9 28 ## 152 18 131 8.0 76 9 29 ## 153 20 223 11.5 68 9 30 11/49
12.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 12/48 特定の行だけ見たい 正整数の添字ベクトルで指定する airquality[c(1,
2, 5, 100, 120), ] ## Ozone Solar.R Wind Temp Month Day ## 1 41 190 7.4 67 5 1 ## 2 36 118 8.0 72 5 2 ## 5 NA NA 14.3 56 5 5 ## 100 89 229 10.3 90 8 8 ## 120 76 203 9.7 97 8 28 12/49
13.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 13/48 特定の列だけ見たい 正整数の添字ベクトルで指定する head(airquality[,
c(2, 4)]) ## Solar.R Temp ## 1 190 67 ## 2 118 72 ## 3 149 74 ## 4 313 62 ## 5 NA 56 ## 6 NA 66 13/49
14.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 14/48 特定の列以外を見たい 負整数の添字ベクトルで指定する head(airquality[,
-c(2, 4)]) ## Ozone Wind Month Day ## 1 41 7.4 5 1 ## 2 36 8.0 5 2 ## 3 12 12.6 5 3 ## 4 18 11.5 5 4 ## 5 NA 14.3 5 5 ## 6 28 14.9 5 6 14/49
15.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 15/48 特定の列だけ見たい 列名ベクトルで指定する head(airquality[,
c("Ozone", "Temp", "Day")]) ## Ozone Temp Day ## 1 41 67 1 ## 2 36 72 2 ## 3 12 74 3 ## 4 18 62 4 ## 5 NA 56 5 ## 6 28 66 6 15/49
16.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 16/48 フィルタリング 16/49
17.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 17/48 欠測値のない行が欲しい na.omit関数 #
NAが存在するデータ airquality[4:6, ] ## Ozone Solar.R Wind Temp Month Day ## 4 18 313 11.5 62 5 4 ## 5 NA NA 14.3 56 5 5 ## 6 28 NA 14.9 66 5 6 # NAを除外 na.omit(airquality[4:6, ]) ## Ozone Solar.R Wind Temp Month Day ## 4 18 313 11.5 62 5 4 17/49
18.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 18/48 条件にマッチした行が欲しい 論理型ベクトルで指定する #
条件の論理型ベクトルの作成 idx <- airquality$Month == 5 head(idx) ## [1] TRUE TRUE TRUE TRUE TRUE TRUE # 論理型ベクトルで指定 tail(airquality[idx, ], 3) ## Ozone Solar.R Wind Temp Month Day ## 29 45 252 14.9 81 5 29 ## 30 115 223 5.7 79 5 30 ## 31 37 279 7.4 76 5 31 18/49
19.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 19/48 並び替え 19/49
20.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 20/48 並び替えた時の値ベクトルが欲しい sort関数 #
昇順 head(sort(airquality$Ozone), 20) ## [1] 1 4 6 7 7 7 8 9 9 9 10 11 11 11 12 12 13 13 13 13 # 降順 head(sort(airquality$Ozone, decreasing = T), 20) ## [1] 168 135 122 118 115 110 108 97 97 96 91 89 85 85 84 82 80 ## [18] 79 78 78 20/49
21.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 21/48 並び替えた時の添字ベクトルが欲しい order関数 #
昇順 head(order(airquality$Ozone)) ## [1] 21 23 18 11 76 147 head(airquality[order(airquality$Ozone), ]) ## Ozone Solar.R Wind Temp Month Day ## 21 1 8 9.7 59 5 21 ## 23 4 25 9.7 61 5 23 ## 18 6 78 18.4 57 5 18 ## 11 7 NA 6.9 74 5 11 ## 76 7 48 14.3 80 7 15 ## 147 7 49 10.3 69 9 24 21/49
22.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 22/48 並び替えた時の添字ベクトルが欲しい order関数 #
降順 head(order(airquality$Ozone, decreasing = T)) ## [1] 117 62 99 121 30 101 head(airquality[order(airquality$Ozone, decreasing = T), ]) ## Ozone Solar.R Wind Temp Month Day ## 117 168 238 3.4 81 8 25 ## 62 135 269 4.1 84 7 1 ## 99 122 255 4.0 89 8 7 ## 121 118 225 2.3 94 8 29 ## 30 115 223 5.7 79 5 30 ## 101 110 207 8.0 90 8 9 22/49
23.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 23/48 特定の列で並び替えたデータフレームが欲 しい dplyr::arrange関数 #
昇順 head(dplyr::arrange(airquality, Ozone)) ## Ozone Solar.R Wind Temp Month Day ## 1 1 8 9.7 59 5 21 ## 2 4 25 9.7 61 5 23 ## 3 6 78 18.4 57 5 18 ## 4 7 NA 6.9 74 5 11 ## 5 7 48 14.3 80 7 15 ## 6 7 49 10.3 69 9 24 23/49
24.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 24/48 特定の列で並び替えたデータフレームが欲 しい dplyr::arrange関数 #
降順 head(dplyr::arrange(airquality, desc(Ozone))) ## Ozone Solar.R Wind Temp Month Day ## 1 168 238 3.4 81 8 25 ## 2 135 269 4.1 84 7 1 ## 3 122 255 4.0 89 8 7 ## 4 118 225 2.3 94 8 29 ## 5 115 223 5.7 79 5 30 ## 6 110 207 8.0 90 8 9 24/49
25.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 25/48 特定の列で並び替えたデータフレームが欲 しい dplyr::arrange関数 #
複数の列で並び替え head(dplyr::arrange(airquality, Month, desc(Temp))) ## Ozone Solar.R Wind Temp Month Day ## 1 45 252 14.9 81 5 29 ## 2 115 223 5.7 79 5 30 ## 3 37 279 7.4 76 5 31 ## 4 12 149 12.6 74 5 3 ## 5 7 NA 6.9 74 5 11 ## 6 11 320 16.6 73 5 22 25/49
26.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 26/48 列の追加 26/49
27.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 27/48 通常の代入で追加する aq
<- airquality aq$newCol1 <- "new1" head(aq) ## Ozone Solar.R Wind Temp Month Day newCol1 ## 1 41 190 7.4 67 5 1 new1 ## 2 36 118 8.0 72 5 2 new1 ## 3 12 149 12.6 74 5 3 new1 ## 4 18 313 11.5 62 5 4 new1 ## 5 NA NA 14.3 56 5 5 new1 ## 6 28 NA 14.9 66 5 6 new1 27/49
28.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 28/48 関数で追加する transform関数 aq
<- transform(aq, newCol2 = "new2") head(aq) ## Ozone Solar.R Wind Temp Month Day newCol1 newCol2 ## 1 41 190 7.4 67 5 1 new1 new2 ## 2 36 118 8.0 72 5 2 new1 new2 ## 3 12 149 12.6 74 5 3 new1 new2 ## 4 18 313 11.5 62 5 4 new1 new2 ## 5 NA NA 14.3 56 5 5 new1 new2 ## 6 28 NA 14.9 66 5 6 new1 new2 28/49
29.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 29/48 関数で追加する dplyr::mutate関数 aq
<- dplyr::mutate(aq, newCol3 = "new3") head(aq) ## Ozone Solar.R Wind Temp Month Day newCol1 newCol2 newCol3 ## 1 41 190 7.4 67 5 1 new1 new2 new3 ## 2 36 118 8.0 72 5 2 new1 new2 new3 ## 3 12 149 12.6 74 5 3 new1 new2 new3 ## 4 18 313 11.5 62 5 4 new1 new2 new3 ## 5 NA NA 14.3 56 5 5 new1 new2 new3 ## 6 28 NA 14.9 66 5 6 new1 new2 new3 29/49
30.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 30/48 データフレームの結合 30/49
31.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 31/48 列が同じデータフレームを縦に結合する rbind関数 aq1
<- head(airquality, 3) aq2 <- tail(airquality, 3) aq12 <- rbind(aq1, aq2) aq12 ## Ozone Solar.R Wind Temp Month Day ## 1 41 190 7.4 67 5 1 ## 2 36 118 8.0 72 5 2 ## 3 12 149 12.6 74 5 3 ## 151 14 191 14.3 75 9 28 ## 152 18 131 8.0 76 9 29 ## 153 20 223 11.5 68 9 30 31/49
32.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 32/48 列が異なるデータフレームを縦に結合する plyr::rbind_fill関数 aq1
<- head(airquality, 3)[, 1:3] aq2 <- tail(airquality, 3)[, 1:4] aq12 <- plyr::rbind.fill(aq1, aq2) aq12 ## Ozone Solar.R Wind Temp ## 1 41 190 7.4 NA ## 2 36 118 8.0 NA ## 3 12 149 12.6 NA ## 4 14 191 14.3 75 ## 5 18 131 8.0 76 ## 6 20 223 11.5 68 32/49
33.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 33/48 横に結合する aq1
<- airquality[, 1:3] aq2 <- airquality[, 4:6] aq12 <- cbind(aq1, aq2) head(aq12) ## Ozone Solar.R Wind Temp Month Day ## 1 41 190 7.4 67 5 1 ## 2 36 118 8.0 72 5 2 ## 3 12 149 12.6 74 5 3 ## 4 18 313 11.5 62 5 4 ## 5 NA NA 14.3 56 5 5 ## 6 28 NA 14.9 66 5 6 33/49
34.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 34/48 特定の列をキーにして結合する merge関数 a
<- data.frame(id = 1:10, id2 = 11:20, x = 101:110) b <- data.frame(id = c(1, 3, 5, 11), id2 = c(11, 17, 15, 24), y = c(100, 200, 150, 400)) # 結合出来たレコードのみ ab <- merge(a, b, by = "id") ab ## id id2.x x id2.y y ## 1 1 11 101 11 100 ## 2 3 13 103 17 200 ## 3 5 15 105 15 150 34/49
35.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 35/48 特定の列をキーにして結合する merge関数 #
aは全部残す ab <- merge(a, b, by = "id", all.x = T) ab ## id id2.x x id2.y y ## 1 1 11 101 11 100 ## 2 2 12 102 NA NA ## 3 3 13 103 17 200 ## 4 4 14 104 NA NA ## 5 5 15 105 15 150 ## 6 6 16 106 NA NA ## 7 7 17 107 NA NA ## 8 8 18 108 NA NA ## 9 9 19 109 NA NA ## 10 10 20 110 NA NA 35/49
36.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 36/48 特定の列をキーにして結合する merge関数 #
bは全部残す ab <- merge(a, b, by = "id", all.y = T) ab ## id id2.x x id2.y y ## 1 1 11 101 11 100 ## 2 3 13 103 17 200 ## 3 5 15 105 15 150 ## 4 11 NA NA 24 400 36/49
37.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 37/48 特定の列をキーにして結合する merge関数 #
a、b両方とも全部残す ab <- merge(a, b, by = "id", all = T) ab ## id id2.x x id2.y y ## 1 1 11 101 11 100 ## 2 2 12 102 NA NA ## 3 3 13 103 17 200 ## 4 4 14 104 NA NA ## 5 5 15 105 15 150 ## 6 6 16 106 NA NA ## 7 7 17 107 NA NA ## 8 8 18 108 NA NA ## 9 9 19 109 NA NA ## 10 10 20 110 NA NA ## 11 11 NA NA 24 400 37/49
38.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 38/48 複数の列をキーにして結合する merge関数 #
複数の列をキーにして結合する ab <- merge(a, b, by = c("id", "id2")) ab ## id id2 x y ## 1 1 11 101 100 ## 2 5 15 105 150 38/49
39.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 39/48 ピボットテーブル(reshape2) 39/49
40.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 40/48 縦長のデータフレームを作る reshape2パッケージmelt関数 library(reshape2) aq.melt
<- melt(airquality, id.vars = c("Month", "Day")) aq.melt[seq(100, 500, 100), ] ## Month Day variable value ## 100 8 8 Ozone 89.0 ## 200 6 16 Solar.R 191.0 ## 300 9 24 Solar.R 49.0 ## 400 8 2 Wind 13.8 ## 500 6 10 Temp 87.0 40/49
41.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 41/48 横長のデータフレームを作る reshape2パッケージdcast関数 #
月ごとの平均 aq.cast <- dcast(aq.melt, Month ~ variable, mean, na.rm = T) head(aq.cast) ## Month Ozone Solar.R Wind Temp ## 1 5 23.62 181.3 11.623 65.55 ## 2 6 29.44 190.2 10.267 79.10 ## 3 7 59.12 216.5 8.942 83.90 ## 4 8 59.96 171.9 8.794 83.97 ## 5 9 31.45 167.4 10.180 76.90 41/49
42.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 42/48 横長のデータフレームを作る reshape2パッケージdcast関数 aq.cast
<- dcast(aq.melt, Month + Day ~ variable, mean, na.rm = T) head(aq.cast) ## Month Day Ozone Solar.R Wind Temp ## 1 5 1 41 190 7.4 67 ## 2 5 2 36 118 8.0 72 ## 3 5 3 12 149 12.6 74 ## 4 5 4 18 313 11.5 62 ## 5 5 5 NaN NaN 14.3 56 ## 6 5 6 28 NaN 14.9 66 42/49
43.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 43/48 横長のデータフレームを作る reshape2パッケージdcast関数 aq.cast
<- dcast(aq.melt, Day ~ Month + variable, mean, na.rm = T) head(aq.cast[, 1:8]) ## Day 5_Ozone 5_Solar.R 5_Wind 5_Temp 6_Ozone 6_Solar.R 6_Wind ## 1 1 41 190 7.4 67 NaN 286 8.6 ## 2 2 36 118 8.0 72 NaN 287 9.7 ## 3 3 12 149 12.6 74 NaN 242 16.1 ## 4 4 18 313 11.5 62 NaN 186 9.2 ## 5 5 NaN NaN 14.3 56 NaN 220 8.6 ## 6 6 28 NaN 14.9 66 NaN 264 14.3 43/49
44.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 44/48 集約処理(dplyr) library(dplyr) #
使用するデータ head(mtcars) ## mpg cyl disp hp drat wt qsec vs am gear carb ## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 ## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 ## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 ## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 ## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 ## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 44/49
45.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 45/48 グループごとに集約処理したデータフレー ムを作る group_by
+ summarise mtcars %.% group_by(am) %.% summarise(mpg.mean = mean(mpg)) ## Source: local data frame [2 x 2] ## ## am mpg.mean ## 1 0 17.15 ## 2 1 24.39 45/49
46.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 46/48 グループごとに集約処理したデータフレー ムを作る group_by
+ summarise mtcars %.% group_by(am) %.% summarise(mpg.mean = mean(mpg), count = length(mpg), mpg.max = max(mpg), cyl.mpg.max = cyl[which.max(mpg)]) ## Source: local data frame [2 x 5] ## ## am mpg.mean count mpg.max cyl.mpg.max ## 1 0 17.15 19 24.4 4 ## 2 1 24.39 13 33.9 4 46/49
47.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 47/48 グループごとに集約処理した値を新たな列 として追加する group_by
+ mutate mtcars %.% group_by(am, vs) %.% mutate(mpg.mean = mean(mpg), mpg.sd = sd(mpg)) %.% as.data.frame() %.% head() ## mpg cyl disp hp drat wt qsec vs am gear carb mpg.mean mpg.sd ## 1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 19.75 4.009 ## 2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 19.75 4.009 ## 3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 28.37 4.758 ## 4 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 20.74 2.471 ## 5 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 15.05 2.774 ## 6 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 20.74 2.471 47/49
48.
2014/5/31 データ・ハンドリング file:///Users/yokkuns/github/TokyoR/TokyoR39/yokkuns/index.html#49 48/48 49/49
Download