dplyrとは
何だったのか
2016/04/30@Tokyo.R53
@yutannihilation
1
自己紹介
•@yutannihilation
•インフラエンジニア
•電子工作ワナビー
•匿名知的集団ホクソエム
ではない。ただの人。
2
dplyrとは
•R界の神・Hadley Wickhamがつくったパッ
ケージ
•データ操作に特化している
•様々なバックエンドを使える
3
Introduction to dplyr
訳したので詳しくは読んでください。
4http://qiita.com/yutannihilation/items/7a78d897810446dd6a3b
1. Identify the most important data
manipulation tools needed for data
analysis and make them easy to use
from R.
dplyrの設計思想
5
意訳:データ操作といえばこれ!的なのをつ
くっちゃうよ。
2. Provide blazing fast performance for
in-memory data by writing key
pieces in C++.
dplyrの設計思想
6
意訳:C++使っちゃうよ。
3. Use the same interface to work with
data no matter where it's stored,
whether in a data frame, a data table
or database.
dplyrの設計思想
7
意訳:data.frameでもDBでも同じノリで
データを操作できちゃうよ。
8
同じノリ?
9
MySQL
PostgresSQL
Presto
R
色々なバックエンドが
ある場合の例
10
MySQL
PostgresSQL
Presto
R
→ 方言の違いつらい…
そもそもSQLよくわからない…
SELECT depname, avg(salary)
OVER (PARTITION BY depname)
FROM salary
WHERE hoxo = “m”;
それぞれに
集計クエリを投げる
11
MySQL
PostgresSQL
Presto
R
データを全部取り出して
Rで集計
12
MySQL
PostgresSQL
Presto
R
→ データサイズ・速度の問題
データを全部取り出して
Rで集計
13
MySQL
PostgresSQL
Presto
R
→ dplyrの書き方だけ覚えればOK!
dplyr
data_src %>%
select(…) %>%
filter(…) %>%
…
dplyrを使う
14
MySQL
pgSQL
Presto
R
※なかったらつくる! それが某匿名
知的集団の誓いだったはず!!!です
が私はホクソエムではありません。
dplyr
無限の可能性!(たぶん)
Bigquery
Spark
…
data.table
data.frame
15
逆に考えるんだ…
16
MySQL
pgSQL
Presto
R
逆に言うと、さまざまなバックエンドを
想定しているので複雑なことはできない。
dplyr
無限の可能性…?
Bigquery
Spark
…
data.table
data.frame
まとめ
•dplyrはつよい。いいね?
•でも、dplyrは抽象化のためにいろんなもの
を犠牲にしているかも
•複雑なことをするなら時にはdplyrから離れ
ることも必要かも
(tidyr、purrr、data.table…)
17

More Related Content

PDF
数学で解き明かす深層学習の原理
PDF
[DL輪読会]Geometric Unsupervised Domain Adaptation for Semantic Segmentation
PPTX
[DL輪読会]SOLAR: Deep Structured Representations for Model-Based Reinforcement L...
PDF
NLP2023 緊急パネル:ChatGPTで自然言語処理は終わるのか? 説明スライド
PPTX
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
PDF
状態空間モデルの考え方・使い方 - TokyoR #38
PDF
質的変数の相関・因子分析
PPTX
【DL輪読会】Scale Efficiently: Insights from Pre-training and Fine-tuning Transfor...
数学で解き明かす深層学習の原理
[DL輪読会]Geometric Unsupervised Domain Adaptation for Semantic Segmentation
[DL輪読会]SOLAR: Deep Structured Representations for Model-Based Reinforcement L...
NLP2023 緊急パネル:ChatGPTで自然言語処理は終わるのか? 説明スライド
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
状態空間モデルの考え方・使い方 - TokyoR #38
質的変数の相関・因子分析
【DL輪読会】Scale Efficiently: Insights from Pre-training and Fine-tuning Transfor...

What's hot (20)

PDF
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
PPTX
[DL輪読会]Wavenet a generative model for raw audio
PDF
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
PPTX
ウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心に
PDF
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)
PPTX
[DL輪読会]GENESIS: Generative Scene Inference and Sampling with Object-Centric L...
PDF
ゼロから作るDeepLearning 2~3章 輪読
PDF
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
PPTX
20160724_cv_sfm_revisited
PPTX
ウェーブレットと多重解像度処理
PPTX
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
PPTX
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
PPTX
[DL輪読会]A closer look at few shot classification
PDF
[DL輪読会]Temporal Abstraction in NeurIPS2019
PDF
関数データ解析の概要とその方法
PDF
Rで学ぶ回帰分析と単位根検定
PDF
[DL Hacks]Self-Attention Generative Adversarial Networks
PDF
フーリエ変換と画像圧縮の仕組み
PDF
Granger因果による 時系列データの因果推定(因果フェス2015)
PDF
強化学習その4
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]Wavenet a generative model for raw audio
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
ウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心に
Sparse Codingをなるべく数式を使わず理解する(PCAやICAとの関係)
[DL輪読会]GENESIS: Generative Scene Inference and Sampling with Object-Centric L...
ゼロから作るDeepLearning 2~3章 輪読
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
20160724_cv_sfm_revisited
ウェーブレットと多重解像度処理
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
[DL輪読会]A closer look at few shot classification
[DL輪読会]Temporal Abstraction in NeurIPS2019
関数データ解析の概要とその方法
Rで学ぶ回帰分析と単位根検定
[DL Hacks]Self-Attention Generative Adversarial Networks
フーリエ変換と画像圧縮の仕組み
Granger因果による 時系列データの因果推定(因果フェス2015)
強化学習その4
Ad

More from yutannihilation (6)

PPTX
Tidyverseとは
PPTX
匿名バイナリ配布集団rwinlib
PPTX
go-apt-cacher/mirror
PPTX
ggplot2再入門(2015年バージョン)
PPTX
押してダメなら引いてみろ! ggplot2逆引きプロジェクト
PPTX
Github pagesでRPubsにサヨナラ!
Tidyverseとは
匿名バイナリ配布集団rwinlib
go-apt-cacher/mirror
ggplot2再入門(2015年バージョン)
押してダメなら引いてみろ! ggplot2逆引きプロジェクト
Github pagesでRPubsにサヨナラ!
Ad

dplyrとは何だったのか