dplyrからデータテーブルへの移行:最初の一歩とその魅力

dplyr信者だった私がデータテーブルに手を出してみた話

data.tableって、dplyrやggplot2ほど四六時中使われてる感じじゃないんだよね。うーん、でもなんだか妙に話題になる機能もあったりして、そこが気になったりする。そういえば、数年前に七十回くらい見かけた覚えあるんだけど、その頃の自分は基本的な部分さえ曖昧なままで…。ま、それも今さらどうしようもないかな。でもこの前、すごく遅い処理を目撃したとき、「data.tableならこれ、多分数十倍速いでしょ」と思わずにはいられなくてさ。でも実際細かい書き方とか…あれ?どうだったっけ?となって、その場では結局手出しできずじまい。

誰かが「初心者向けまとめ記事でも書けば?」とか言ってた記憶があって、自分もちょっと思い出そうとしてメモ代わりに使おうとしたことあるんだよね。正直、このパッケージについては集合演算やグルーピングみたいな処理を難しいと思わない人も多分いるらしい。とは言いつつ、構文自体が独特だから最初は戸惑うポイントがまあまあある気がする。いや、本当、おそらく三割くらいの人しか初めからスムーズには入れてないっぽい雰囲気。

詳細な説明を一旦脇に置いておくとして、とにかく大量データ扱う時は他より役立つ瞬間が多そう。いや待てよ、それでも全体像掴むには何度も試してみたり、ときどき道草食ったりしながら慣れる必要がある…そんな印象なのかな、やっぱり。

本段の参照元: https://www.johnmackintosh.net/blog/2019-06-30-datatable-by-a-dummy/

日本語圏でデータテーブルを使うときの孤独感とちょっとした覚悟

そういえば、data.tableの構文ってやつ、本当に何度も混乱した覚えがある。ああ、たぶん僕だけじゃなくて、多くの人が最初に`DT[i, j, by]`という並びを目にして、カッコとか順番とか、「えっ?」って固まる瞬間を体験しているらしいんだよね。でもdplyrならパイプ演算子でスラスラ書けるから楽なんだけど――うーん、いや、その話はちょっと脇道か。ま、とにかくdata.tableの場合は「データフレームそのものに直接手を加える」ような気分になるわけ。これ、慣れるまで独特。

たとえばさ、もしカラム名でフィルタしようと思ったときも、そのまま`DT[列A == "xxx"]`みたいに直書きできて便利ではあるんだけど…やっぱり中括弧とか引用符の使い方で引っかかる人が結構いるみたい。実はそうでもなくて…いや違うな、「一部の初心者はこの構文につまずいて他の方法へ流れてしまう」という報告も耳にするくらいだから、とっつきづらさが根本的な壁になっている可能性も否定できない。それでも、不思議と慣れてしまえば「一行で完結」「動作超高速」といった魅力が全面に出てくるので、なんとなく利用者層が少しずつ拡大している印象を受けたりする。ま、いいか。

日本語圏でデータテーブルを使うときの孤独感とちょっとした覚悟

Related to this topic:

Comments