dplyr

dplyr 1.1.0からはgroup_by()の代わりに.by引数が使えるらしいという話

この記事はR Advent Calendar 2022 3日目の記事です。昨日はhoxo-mさんの記事でした。温故知新でしたね。 さて、来年1月後半にリリース予定を控えたdplyr 1.1.0について、リリース前の新機能紹介が出ました。 今回はその中でも、summarise()やmutate()に追加…

メモ:dplyr・ggplot2 で {{ }} を使う

追記(2021/03/26): 開発版では「facet_*() の場合」も動くようになりました。 こういうデータが手元にあるとします。

dplyr 1.0.0を使ってみる: across(), rename_with()

across() の紹介はググればすでに記事がいくつもあるので私が書くことはあまりないんですが、知られてなさそうな点をかいつまんで紹介します。

dplyr 1.0.0を使ってみる: rowwise()

昔こんな記事を書いたんですが、なんと rowwise() は dplyr 1.0.0 で不死身になって還ってきました(予想が外れてすみません...)。そのあたりを解説します。 例によって英語が苦でない人は公式ブログをどうぞ。

dplyr 1.0.0 を使ってみる: summarise()

dplyr 1.0.0 がリリースされてもう1ヶ月。日本語でもちらほら紹介のブログ記事やスライドが出てきています。 が、意外と summarise() の挙動変更に触れたやつないなと思って、軽く紹介します。 ちなみに、この記事で取り上げた quantile() の活用例は公式ブ…

dplyr 0.8.0を使ってみた(新機能編)

困惑しそうな変更点の話は書いたので、次はテンション上がりそうな新機能の話を書きたいと思います。

dplyr 0.8.0を使ってみた(group_by()のbreaking changes編)

更新(2019/02/19): いろいろ議論があって、group_by()のデフォルトの挙動はこれまでと同じ(empty groupはつくらない)ようになりました。 group_by()するときに.drop = FALSEとした場合だけ、empty groupがつくられます。 dplyr 0.8.0がもうすぐ(来年1…

do()とかrowwise()は今から覚える必要はない(たぶん)

追記(2020/07/04): この記事の予想は外れ、 rowwise() は dplyr 1.0.0 で華麗な復活を遂げました。 追記(2017/11/17): RStudio Communityで質問してみたところ、「もう機能追加されないしドキュメントでも言及されないけど、まあ数年は残るんじゃね?」とい…

dplyrは(今のところ)S4の列をうまく扱えないらしい

というのを最近知ったのでいちおうブログに。

メモ:最近のdplyr::select()は列を文字列で指定できますよ

なんか意外と知られていないようだったのでいちおうブログにも書いておくと、 select(iris, Sepal.Length, Petal.Length) というのは、

メモ:sfにdplyrの関数を使いたいときはlibrary()とかでsf用のメソッドを読み込んでおく必要がある

国土数値情報のGISデータをsfで処理するときのメモ。

kazutan.Rでdplyrのselectとmutateのセマンティクスの違いについてLTしてきました

「Rを用いたデータハンドリングと可視化」ハンズオン&LT(a.k.a. kazutan.R)でLTしてきました。 speakerdeck.com

メモ:dplyrのrow_number()の実装を追う

このissueを解決してなんかコントリビュート感を出したい。が、C++力なさすぎて実装をまったく追えないのでメモ。

dplyr 0.7.0を使ってみる

注:これは2017/04/15に公開した「dplyr 0.6.0-rcを使ってみる」という記事を加筆修正したものです。

メモ:dplyr 0.6.0は、select()するだけならtidyevalいらないっぽい

dplyrがもうCRANにsubmitされたという噂を聞いてNEWS.mdを読んでたら、こんなことが書かれていました。 select() (and the internal function select_vars()) now support column names in addition to column positions. As a result, expressions like sel…

dplyr再入門

というタイトルで、第60回R勉強会@東京で発表してきました。 スライドをつくってたら長くなりすぎたのでいくつかに分割しています。 「基本編」は、mutateやselectなどの基本的な関数と、グループ化についてまとめています。内容はIntroduction to dplyr(原…

メモ:dplyr::select()でインド人を左にはできるけど右にはできない?

どうでもいい話。

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

去年のJapan.Rで、 Join処理のSQLは、結構雑 (dplyr様って もはや言語ではないのか? - Redshiftの場合 - // Speaker Deck) という文を見て、たしかにあれ何とかならないのかなーと思ってたんですが、どうやら0.6.0ではけっこうよくなってそうな雰囲気です。

メモ:dplyrのselect(data, col1:colN)みたいなやつはどう実現しているのか

select()は内部的にはselect_vars()を使っている。select_vars()はさらに内部ではlazyeval::lazy_eval()を呼び出している。

私と驥悟く蜈オ

※この投稿は「私と里傭兵」大喜利Advent Calendar 2016 4日目の記事です*1。 里傭兵は文字だ。文字通り。 みたいな書き出しではじまる小説があったがその話はここではしない*2。しかし、文字とは何なのか。 「里傭兵」という文字と「里傭兵」という文字は同…

dplyrは言語です

awesomeな方がJapan.RでLTされていたので、アンサーソング的なブログを書いておきます。(嘘です。そんなにdplyr詳しくないです...)

ifelse()は危険なのでやめてdplyr::if_else()を使いましょう

dplyrパッケージのif_else()、case_when()、recode()の紹介をuriboが書いてたので、そういえばこのことちゃんと書いてなかったなと思って書いておきます。

メモ:dplyrがバックエンドにSQLを投げるときの流れ

ちゃんと追ってないけど、print()するにせよcollect()するにせよ結局collect.tbl_sql()が呼ばれるっぽい。

dplyrのmutate_if()とかについて

1か月前にキターとつぶやいたものがついにCRANにきたのでそれについて書きます。 Colwise update https://t.co/AotXyUjYmv キター!— Hiroaki Yutani (@yutannihilation) 2016年5月31日

dplyr 0.5.0を使ってみる

※この記事は4/9に書いた「dplyr 0.4.3.9000を使ってみる」という記事を加筆したものです 「1か月くらいしたら新しいdplyr出るよ」とHadleyが言ってました。 Getting ready to start dplyr release process. Over >150 issues fixed: https://t.co/N6fOAnN5pF…

Rのglobal string poolに溺れる

だいぶ昔にdplyrにこんなIssueを立てたことがあります。r-wakalangでの議論のスピンオフ企画みたいなものです。 この時に、Rの文字列型データがメモリ上でどのように保持されるかについてちらっとコメントがついていました。 dplyr should be taking advanta…

Tokyo.RでdplyrについてLTしてきました。

第53回東京R勉強会@東京(a.k.a. Tokyo.R)でLTしてきました。発表の概略はこちらのスライドをご覧ください(一部省略したスライドがあります)。 dplyrとは何だったのか from yutannihilation

Why are you using UTF-8???

追記(2016/5/1):直りました!!! 追記(2016/12/1):と思ったらそのあとまた壊れてました!!!(涙) Encoding problems on Windows caused by character -> symbol -> character roundtrip · Issue #1950 · hadley/dplyr https://t.co/b6dESZt5WZ フワー…

メモ:dplyr::mutate()に引数のリストを渡したいときは.dotでがんばるよりpurrr::invoke()

これはうまくいく。 common_params <- list(zero = 0, one = 1) data.frame(x = seq(1, 10)) %>% mutate_(.dots = common_params) #> x zero one #> 1 1 0 1 #> 2 2 0 1 #> 3 3 0 1 #> 4 4 0 1 #> 5 5 0 1 #> 6 6 0 1 #> 7 7 0 1 #> 8 8 0 1 #> 9 9 0 1 #> 1…

dplyrで複数カラムを追加したいと思ったときはpurrrでslice_rows+by_slice

r-wakalangでそんな話があった時のメモ。もっといいコードがある気もしつつ、まあこれが割とシンプルなのではないでしょうか。問題は、purrrの使い方をいざという時に思い出せないというだけで。。(重大) plyr::mdply() 私はポストplyr世代なのでplyrまっ…