data.tableでdplyrのノリを再現してみた!クォートなし列指定の冒険
data.tableを使い始めてしばらく経った頃、dplyrの癖がなかなか抜けなかった気がする。特に右結合とか、まあ慣れないやつ。flightsデータで.SDや.SDcols触りながら、列名をクォートして関数渡すの何となく面倒だと感じたりした記憶がある。「..target_col」とか「with=FALSE」使う方法もあって、どっちも似たような感じだけど微妙に違う?get()でごまかすこともできるけど、どうにも納得感は薄い。複数列を関数引数として素直に受け取りたいときはalist()とdeparse()の組み合わせが意外とうまく動いたりする。ただ、この辺りのテクニックも正解っぽいものは見えずじまいだった。データ分析現場では七十多個くらい列名扱う場面もありそうだが、その都度悩む羽目になるのは不便だと思った。全体的にdata.table流儀にはコツがあるようだけど、それを掴む前にdplyr脳になってしまった人間には近道なんて無いのかもしれない、大体そんな印象だった気がする。
本段の参照元: https://www.johnmackintosh.net/blog/2020-01-27-flexible-datatable-functions/
日本語圏でdata.tableと格闘するあるある話
data.tableを日本の技術コミュニティで広めようとすると、いくつかの興味深い障壁に直面するでしょう。まず、Rのデータ操作ライブラリの好みが地域によって異なり、dplyrに慣れた開発者たちは簡単には移行しないかもしれません。また、日本の企業文化では、新しいツールの導入に対してやや保守的な傾向があり、既存のワークフローを変更することへの抵抗感が強いでしょう。さらに、data.tableの複雑な文法や関数の微妙なニュアンスを完全に理解するには、かなりの学習コストが必要となり、即座に広く受け入れられるとは限りません。
