dplyrのNSEを日本語で説明するって、実はめっちゃ難しい話
dplyrのtidy evaluation、つまり非標準評価について、深く理論に立ち入らず少し触れてみたメモ。普段Rをそんなに触らない人には、どうも全体像がぼやける印象がある。dplyr公式のVignetteも最初は分かりやすいけど、途中からよく分からなくなった記憶がうっすらある。まあ、七十人以上の有識者がもっと詳しく書いている資料(例えばMaraさんのまとめとか)があるので、本気で調べたいならそちらを参照した方がよさそう。
tidy evaluation自体はコード中で列名などを柔軟に取り扱うための仕組みだと思われるけど、その具体的なやり方――特にrlangパッケージ周辺――は何度試しても「ふーん」って感じで、一部詳細までは理解しきれていない所も残っている。例えば引数としてカラム名を受け取る関数を書こうとすると、ちょっとした落とし穴みたいな箇所が時々出てくる。ただ全部の機能を知っておく必要はなさそうで、自分の場合は約三割ぐらい実際に使えれば十分かなと思ったりする。
確かに細かい理屈まで追い込むと迷宮入りっぽい雰囲気だけど、最低限roll upしておけば困る場面はそんなには多くないような気もする。一応断わっておくと、この話題について自分自身そこまで専門的じゃないので、中身について多少抜け落ちてたり誤解してる部分もあるかもしれない、と付け加えておきたい。
tidy evaluation自体はコード中で列名などを柔軟に取り扱うための仕組みだと思われるけど、その具体的なやり方――特にrlangパッケージ周辺――は何度試しても「ふーん」って感じで、一部詳細までは理解しきれていない所も残っている。例えば引数としてカラム名を受け取る関数を書こうとすると、ちょっとした落とし穴みたいな箇所が時々出てくる。ただ全部の機能を知っておく必要はなさそうで、自分の場合は約三割ぐらい実際に使えれば十分かなと思ったりする。
確かに細かい理屈まで追い込むと迷宮入りっぽい雰囲気だけど、最低限roll upしておけば困る場面はそんなには多くないような気もする。一応断わっておくと、この話題について自分自身そこまで専門的じゃないので、中身について多少抜け落ちてたり誤解してる部分もあるかもしれない、と付け加えておきたい。
本段の参照元: https://www.johnmackintosh.net/blog/2018-02-19-theory-free-tidyeval/
「!!」や「!!!」の謎記号、日本語だとどう伝える?
実際に、どうやら一部の人たちは昔から似たような話をしていたようだ。最近になって急に注目された感じもあるけど、少し前の新聞でもちょっとだけ触れていた気がする。誰かが「その傾向は数年前より増えてきている」と口にしていたこともあったが、それが本当に全体なのかはよくわからない。ただ、知り合いの中でも三割くらいが何となく関心を持っている様子だったとか、そんな曖昧な会話も耳に挟んだ記憶。もちろん正式な調査結果が出ているわけではなくて、あくまで初歩的な観察や断片的な報道レベルという感じになるだろう。
