SlideShare a Scribd company logo
1 of 34
Download to read offline
%%%%%%%%%% 
%%%%%%%%%% 
%%%%%%%%%% 
%%%%%%%%%% 
%%%%所沢義男%
最近の所沢情報 
• 「データ解析のための統計モデリング入 
門」読書会で発表しました 
– 第7章一般化線形混合モデル 
• 最近はレビュー職人になりました 
– 以下の2冊レビューさせていただきました 
– 「ドキュメント・プレゼンテーション生成」 
– 「戦略的データマイニング」 
– R本の出版前のレビュー随時受け付けており 
ます
本日のまとめ 
• dplyrという便利パッケージがあります 
• magrittrという便利パッケージがあります 
• renkun(通称クオンツ蓮君)を応援しま 
しょう
dplyr、ご存じですか
里洋平 著「戦略的データマイニング」より
そんなわけで今回は 
実務で役立つ 
dplyrのユースケースについて 
ご紹介します!!!
なんてことはしない
そんな有益な話は 
ググればいくらでも出てくる
ということで今日は 
皆さんの人数×20分という 
貴重な時間を使って 
%%%%%%%%%%%%%%%%% 
%%%%%%%%%%%%界隈の話 
をします!!!
まずは基礎知識 
• Rでは%%で挟むことで演算子を定義 
できる 
• 組み込みだと%in% 
• Hmiscの%nin%も有名 %
それで俺俺演算子を 
作った男がいた 
その名は 
Hadley Wickham
そう、ggplot2の作者ですよ
作ったのは%.% 
• chain演算子 
• thenと読むらしい 
• Unixとか他の言語でいうところのpipeとか 
メソッドチェーンとか 
– Unixだと| 
– F#だと |> 
– juliaも|> 
– jQueryだと. %.%
こんな風につかう 
tbl <- group_by(iris, Species) 
summarise_each(tbl, funs(mean), matches("Sepal")) 
l 一時オブジェクトを作る必要なし 
l 処理が左から右に流れていくので  
書いてて気持ちが良い 
iris %.% 
group_by(Species) %.% 
summarise_each(funs(mean), matches("Sepal"))
でも%.%は%>%に
magrittrパッケージ 
• %.%はもっとできのいい%>%を別パッケー 
ジからインポートすることで置き換えら 
れた 
• magrittrパッケージは%>%以外にもchain 
関連の演算子を用意している %>%
chainするならmagrittr 
• chain関連の演算子を色々と含む 
• %>%とか%T>%とか:= とか 
• chainするときのエイリアスも用意 
– [ → extract 
– + → add 
– & → and などなど
%>% 
• 左から右に処理をつないでいく 
• デフォルトでは最初の引数に渡される 
• 他の引数に渡したい時は . (ドット)を使う
%T>% 
• 副作用を利用したいときに使う 
• 処理の途中でプロットしつつ、最後にオ 
ブジェクトに保存する、とか 
こんな感じ 
iris %>% 
group_by(Species) %>% 
summarise(avg=mean(Sepal.Length)) %T>% 
plot(.) -> res
:= 
• 以下のように処理したオブジェクトを元の 
オブジェクトに再代入するときに使う 
これが 
iris <- iris %>% group_by(Species) %>% mutate(all=n()) 
こうなる 
iris := group_by(Species) %>% mutate(all=n())
覚えましたか
そんなdplyrとmagrittrの 
蜜月関係に 
一石を投じるものが
クオンツ蓮君 
• 中国のクオンツ 
• pipeRというパッケージで%%%業界に   
一石を投じる 
• rlistパッケージというリスト操作パッケー 
ジも開発→こちらは便利 
• サイトは http://renkun.me
クオンツ蓮君の一石 pipeR 
• 演算子は%>>%のみ 
– これ1つでmagrittrの大体の機能をまかなえる 
• %>%の3倍以上速い 
• しかもPipeで囲うことで$でchainできる 
Pipe(iris) $group_by(Species)$tally()
しかし分が悪い 
• %>>%はタイプが面倒 
• %>%は最新版のRStudioの場合、 
Alt+Shift+. というショートカットがある 
• Rbloggersとか見てる限り蓮君なんだかグ 
ローバルに無視されてる気がする 
– 速いのに 
– それなりに便利なのに
Rグローバルリア充軍団 
(※個人の感想です) 
vs 
クオンツ蓮君
高くて硬い壁と、 
壁にぶつかって割れてしまう卵が 
あるときには、 
私は卵の側に立ちたい
皆さんも盲目的に 
magrittrに走るのではなく 
pipeRもその検討の俎上に 
挙げてほしい
ということで最後にまとめ 
• dplyrという便利パッケージがあります 
• magrittrという便利パッケージがあります 
• renkun(通称クオンツ蓮君)を応援しま 
しょう
enjoy!

More Related Content

What's hot

(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方Shohei Hido
 
統計用言語Rの使い方
統計用言語Rの使い方統計用言語Rの使い方
統計用言語Rの使い方Ak Ok
 
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” Hajime Sasaki
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Yuya Unno
 
Jubatusにおける機械学習のテスト@MLCT
Jubatusにおける機械学習のテスト@MLCTJubatusにおける機械学習のテスト@MLCT
Jubatusにおける機械学習のテスト@MLCTYuya Unno
 
いまさら聞けない機械学習の評価指標
いまさら聞けない機械学習の評価指標いまさら聞けない機械学習の評価指標
いまさら聞けない機械学習の評価指標圭輔 大曽根
 
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォームJubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォームPreferred Networks
 
Jubatusが目指すインテリジェンス基盤
Jubatusが目指すインテリジェンス基盤Jubatusが目指すインテリジェンス基盤
Jubatusが目指すインテリジェンス基盤Shohei Hido
 
初心者のためのRとRStudio入門 vol.2
初心者のためのRとRStudio入門 vol.2初心者のためのRとRStudio入門 vol.2
初心者のためのRとRStudio入門 vol.2OWL.learn
 
Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会
Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会
Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会Yuya Unno
 
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編Etsuji Nakai
 
機械学習CROSS 前半資料
機械学習CROSS 前半資料機械学習CROSS 前半資料
機械学習CROSS 前半資料Shohei Hido
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Tatsuya Tojima
 
Pythonで時系列のデータを分析してみよう
Pythonで時系列のデータを分析してみようPythonで時系列のデータを分析してみよう
Pythonで時系列のデータを分析してみようTatuya Kobayashi
 
ディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみたディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみた卓也 安東
 
tokyo_webmining_no51
tokyo_webmining_no51tokyo_webmining_no51
tokyo_webmining_no51Shu (shoe116)
 
開発者からみたTensor flow
開発者からみたTensor flow開発者からみたTensor flow
開発者からみたTensor flowHideo Kinami
 

What's hot (20)

(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方
 
統計用言語Rの使い方
統計用言語Rの使い方統計用言語Rの使い方
統計用言語Rの使い方
 
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
 
機械学習
機械学習機械学習
機械学習
 
Rstudio事始め
Rstudio事始めRstudio事始め
Rstudio事始め
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
 
Jubatusにおける機械学習のテスト@MLCT
Jubatusにおける機械学習のテスト@MLCTJubatusにおける機械学習のテスト@MLCT
Jubatusにおける機械学習のテスト@MLCT
 
いまさら聞けない機械学習の評価指標
いまさら聞けない機械学習の評価指標いまさら聞けない機械学習の評価指標
いまさら聞けない機械学習の評価指標
 
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォームJubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
 
Jubatusが目指すインテリジェンス基盤
Jubatusが目指すインテリジェンス基盤Jubatusが目指すインテリジェンス基盤
Jubatusが目指すインテリジェンス基盤
 
初心者のためのRとRStudio入門 vol.2
初心者のためのRとRStudio入門 vol.2初心者のためのRとRStudio入門 vol.2
初心者のためのRとRStudio入門 vol.2
 
Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会
Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会
Twitter分析のためのリアルタイム分析基盤@第4回Twitter研究会
 
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編
 
機械学習CROSS 前半資料
機械学習CROSS 前半資料機械学習CROSS 前半資料
機械学習CROSS 前半資料
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
 
bigdata2012nlp okanohara
bigdata2012nlp okanoharabigdata2012nlp okanohara
bigdata2012nlp okanohara
 
Pythonで時系列のデータを分析してみよう
Pythonで時系列のデータを分析してみようPythonで時系列のデータを分析してみよう
Pythonで時系列のデータを分析してみよう
 
ディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみたディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみた
 
tokyo_webmining_no51
tokyo_webmining_no51tokyo_webmining_no51
tokyo_webmining_no51
 
開発者からみたTensor flow
開発者からみたTensor flow開発者からみたTensor flow
開発者からみたTensor flow
 

Viewers also liked

R6パッケージの紹介―機能と実装
R6パッケージの紹介―機能と実装R6パッケージの紹介―機能と実装
R6パッケージの紹介―機能と実装__nakamichi__
 
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRRとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRShuyo Nakatani
 
Dummiesパッケージ
DummiesパッケージDummiesパッケージ
Dummiesパッケージweda654
 
R入門(dplyrでデータ加工)-TokyoR42
R入門(dplyrでデータ加工)-TokyoR42R入門(dplyrでデータ加工)-TokyoR42
R入門(dplyrでデータ加工)-TokyoR42Atsushi Hayakawa
 
20150303ぞくパタLT-ゆるふわ構造学習
20150303ぞくパタLT-ゆるふわ構造学習20150303ぞくパタLT-ゆるふわ構造学習
20150303ぞくパタLT-ゆるふわ構造学習Toru Imai
 
Mxnetで回帰 #TokyoR 53th
Mxnetで回帰 #TokyoR 53thMxnetで回帰 #TokyoR 53th
Mxnetで回帰 #TokyoR 53thAkifumi Eguchi
 
Rで潜在ランク分析
Rで潜在ランク分析Rで潜在ランク分析
Rで潜在ランク分析Hiroshi Shimizu
 
20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyor20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyorTakashi Kitano
 
20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門Takashi Kitano
 
R を起動するその前に
R を起動するその前にR を起動するその前に
R を起動するその前にKosei ABE
 
データサイエンティスト必見!M-1グランプリ
データサイエンティスト必見!M-1グランプリデータサイエンティスト必見!M-1グランプリ
データサイエンティスト必見!M-1グランプリSatoshi Kitajima
 
マルコフ連鎖モンテカルロ法入門-1
マルコフ連鎖モンテカルロ法入門-1マルコフ連鎖モンテカルロ法入門-1
マルコフ連鎖モンテカルロ法入門-1Nagi Teramo
 
Rで代数統計 TokyoR #42 LT
Rで代数統計 TokyoR #42 LTRで代数統計 TokyoR #42 LT
Rで代数統計 TokyoR #42 LTToru Imai
 
最強のハードディスクはどれだ?
最強のハードディスクはどれだ?最強のハードディスクはどれだ?
最強のハードディスクはどれだ?Atsushi Hayakawa
 
ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)yutannihilation
 
Tokyor42_r_datamining_18
Tokyor42_r_datamining_18Tokyor42_r_datamining_18
Tokyor42_r_datamining_18Yohei Sato
 
Tokyor42 ggplot2
Tokyor42 ggplot2Tokyor42 ggplot2
Tokyor42 ggplot2Yohei Sato
 

Viewers also liked (20)

R6パッケージの紹介―機能と実装
R6パッケージの紹介―機能と実装R6パッケージの紹介―機能と実装
R6パッケージの紹介―機能と実装
 
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRRとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
 
Dummiesパッケージ
DummiesパッケージDummiesパッケージ
Dummiesパッケージ
 
R入門(dplyrでデータ加工)-TokyoR42
R入門(dplyrでデータ加工)-TokyoR42R入門(dplyrでデータ加工)-TokyoR42
R入門(dplyrでデータ加工)-TokyoR42
 
Rcppのすすめ
RcppのすすめRcppのすすめ
Rcppのすすめ
 
20150303ぞくパタLT-ゆるふわ構造学習
20150303ぞくパタLT-ゆるふわ構造学習20150303ぞくパタLT-ゆるふわ構造学習
20150303ぞくパタLT-ゆるふわ構造学習
 
Mxnetで回帰 #TokyoR 53th
Mxnetで回帰 #TokyoR 53thMxnetで回帰 #TokyoR 53th
Mxnetで回帰 #TokyoR 53th
 
Rで潜在ランク分析
Rで潜在ランク分析Rで潜在ランク分析
Rで潜在ランク分析
 
20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyor20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyor
 
20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門
 
R を起動するその前に
R を起動するその前にR を起動するその前に
R を起動するその前に
 
データサイエンティスト必見!M-1グランプリ
データサイエンティスト必見!M-1グランプリデータサイエンティスト必見!M-1グランプリ
データサイエンティスト必見!M-1グランプリ
 
マルコフ連鎖モンテカルロ法入門-1
マルコフ連鎖モンテカルロ法入門-1マルコフ連鎖モンテカルロ法入門-1
マルコフ連鎖モンテカルロ法入門-1
 
Rで代数統計 TokyoR #42 LT
Rで代数統計 TokyoR #42 LTRで代数統計 TokyoR #42 LT
Rで代数統計 TokyoR #42 LT
 
最強のハードディスクはどれだ?
最強のハードディスクはどれだ?最強のハードディスクはどれだ?
最強のハードディスクはどれだ?
 
ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)
 
Tokyor42_r_datamining_18
Tokyor42_r_datamining_18Tokyor42_r_datamining_18
Tokyor42_r_datamining_18
 
Tokyor42 ggplot2
Tokyor42 ggplot2Tokyor42 ggplot2
Tokyor42 ggplot2
 
Tokyo r33 beginner
Tokyo r33 beginnerTokyo r33 beginner
Tokyo r33 beginner
 
Tokyo r30 anova
Tokyo r30 anovaTokyo r30 anova
Tokyo r30 anova
 

Similar to TokyoR42_around_chaining

ネットワーク運用とIoT
ネットワーク運用とIoTネットワーク運用とIoT
ネットワーク運用とIoTcloretsblack
 
PySpark を分析用途に使っている話
PySpark を分析用途に使っている話PySpark を分析用途に使っている話
PySpark を分析用途に使っている話LINE Corporation
 
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysistetsuro ito
 
Rブートキャンプ
RブートキャンプRブートキャンプ
RブートキャンプKosuke Sato
 
今日から業務で使える17の運用系Linuxツール、そして円環の理
今日から業務で使える17の運用系Linuxツール、そして円環の理今日から業務で使える17の運用系Linuxツール、そして円環の理
今日から業務で使える17の運用系Linuxツール、そして円環の理Masahito Zembutsu
 
データサイエンティスト協会スキル委員会2ndシンポジウム講演資料
データサイエンティスト協会スキル委員会2ndシンポジウム講演資料データサイエンティスト協会スキル委員会2ndシンポジウム講演資料
データサイエンティスト協会スキル委員会2ndシンポジウム講演資料The Japan DataScientist Society
 
順序データでもベイズモデリング
順序データでもベイズモデリング順序データでもベイズモデリング
順序データでもベイズモデリング. .
 
データプランナーによるデータ系施策について
データプランナーによるデータ系施策についてデータプランナーによるデータ系施策について
データプランナーによるデータ系施策についてRecruit Lifestyle Co., Ltd.
 

Similar to TokyoR42_around_chaining (9)

ネットワーク運用とIoT
ネットワーク運用とIoTネットワーク運用とIoT
ネットワーク運用とIoT
 
PySpark を分析用途に使っている話
PySpark を分析用途に使っている話PySpark を分析用途に使っている話
PySpark を分析用途に使っている話
 
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
 
tut_pfi_2012
tut_pfi_2012tut_pfi_2012
tut_pfi_2012
 
Rブートキャンプ
RブートキャンプRブートキャンプ
Rブートキャンプ
 
今日から業務で使える17の運用系Linuxツール、そして円環の理
今日から業務で使える17の運用系Linuxツール、そして円環の理今日から業務で使える17の運用系Linuxツール、そして円環の理
今日から業務で使える17の運用系Linuxツール、そして円環の理
 
データサイエンティスト協会スキル委員会2ndシンポジウム講演資料
データサイエンティスト協会スキル委員会2ndシンポジウム講演資料データサイエンティスト協会スキル委員会2ndシンポジウム講演資料
データサイエンティスト協会スキル委員会2ndシンポジウム講演資料
 
順序データでもベイズモデリング
順序データでもベイズモデリング順序データでもベイズモデリング
順序データでもベイズモデリング
 
データプランナーによるデータ系施策について
データプランナーによるデータ系施策についてデータプランナーによるデータ系施策について
データプランナーによるデータ系施策について
 

More from TokorosawaYoshio

More from TokorosawaYoshio (10)

R45LT
R45LTR45LT
R45LT
 
JapanR2014
JapanR2014JapanR2014
JapanR2014
 
Tokyor37
Tokyor37Tokyor37
Tokyor37
 
Tokyor44
Tokyor44Tokyor44
Tokyor44
 
データ解析のための勉強会第7章
データ解析のための勉強会第7章データ解析のための勉強会第7章
データ解析のための勉強会第7章
 
Rから通知をとばす
Rから通知をとばすRから通知をとばす
Rから通知をとばす
 
2分でパッケージを作ってインストールする
2分でパッケージを作ってインストールする2分でパッケージを作ってインストールする
2分でパッケージを作ってインストールする
 
TokyoR40
TokyoR40TokyoR40
TokyoR40
 
Tokyor36
Tokyor36Tokyor36
Tokyor36
 
TokyoR#31 初心者セッション
TokyoR#31 初心者セッションTokyoR#31 初心者セッション
TokyoR#31 初心者セッション
 

TokyoR42_around_chaining