dplyr再入門

というタイトルで、第60回R勉強会@東京で発表してきました。

スライドをつくってたら長くなりすぎたのでいくつかに分割しています。

「基本編」は、mutateやselectなどの基本的な関数と、グループ化についてまとめています。内容はIntroduction to dplyr(原文翻訳)というvignetteに書かれていることをほぼそのまま書いています。それに加えてtwo-table verbs(joinとかunionとか)も扱いたかったんですが、ちょっと手が回りませんでした。。

「Colwise編」は、複数の列に同じ処理を適用する_all()_if()_at()という関数のバリエーションについて書いています。「scoped functions」とかいう言い方もされます。

「Tidyeval編」は、次期リリース(5月中旬)で導入される、NSEを扱うための新しいフレームワークについて説明しています。まだあんまり理解しきれてはいないんですが、とりあえず基礎的な使い方についてはまとめたつもりです。 Programming with dplyr(原文)というvignetteに詳しいので、そちらも併せてご参照ください。

あと、「Database編」というのも作りたかったんですが、こっちも手が回りませんでした。Introduction to dbplyrあたりをご参照ください。

続きを読む

dplyrのmutate_each()/summarise_each()とSE版の関数(select_()、mutate_()...)はdeprecatedになります

という話をTokyo.Rでしたらなんか意外と衝撃を受けている人が多かったので個別に記事に書いておきます。あわせて、移行方法について紹介したCompatibilityというvignetteがあるので、それの該当箇所をポイントします。

0.6.0の変更点全体については以下の記事に書いたので興味がある方はそちらもご参照ください。

続きを読む

dplyr 0.6.0はJOIN系のクエリもけっこういい感じ

去年のJapan.Rで、

Join処理のSQLは、結構雑
dplyr様って もはや言語ではないのか? - Redshiftの場合 - // Speaker Deck

という文を見て、たしかにあれ何とかならないのかなーと思ってたんですが、どうやら0.6.0ではけっこうよくなってそうな雰囲気です。

続きを読む

httr2というパッケージができるという噂

「いいニュースと悪いニュースがある。どっちから聞きたい?」

というのは人生で一度は言ってみたいセリフのひとつですが、ついに使うときが来ました。

続きを読む

メモ:Rでは2+2=5か

ちょっと前に、Rの言語定義にこういうイカしたことが書かれているのに気づいてしまった。

Any expression is allowed also on the target side of an assignment, as far as the parser is concerned (2 + 2 <- 5 is a valid expression as far as the parser is concerned. The evaluator will object, though). (https://cran.r-project.org/doc/manuals/r-release/R-lang.html#Infix-and-prefix-operators)

で、ためしてみたら、<-quote()で式として捕獲できるけど、

quote(2+2<-5)
2 + 2 <- 5

=は無理でした。これは評価順序の問題なのか…?

quote(2+2=5)
#> Error: unexpected '=' in "quote(2+2="
続きを読む