Rのdata.tableで複数列を効率的に操作する方法とその実用性

Published on: | Last updated:

どこかで見たような、data.tableのカラムを一気にlapplyで変換するやり方。あれは確か、MS Word絡みだったとか。カラム数は少なくなかったらしいけど、全部dplyrじゃなくて、そのままdata.tableの機能だけで済ませた話。char_colsっていう文字ベクトルに対象列名をまとめて、それを.SDcolsに指定してlapply使う感じ。gsubで「&」を「and」に置換しつつ、as.characterも一緒に…みたいな流れだった気がする。でも全部きっちり覚えてるわけじゃない、多分他にも細かい調整あったかも。特別なコツとか言うほどじゃなくて、まあ七十回くらい見たパターンの応用かなと。ちなみに大きめデータだったから処理速度も意識したらしいけど、本当のところどれくらい速くなるかはよくわからない。一部専門家ならすぐ使いそうだけど、自分だと意外と忘れるんだよね、こういう書き方…。

参考元: https://www.johnmackintosh.net/blog/2022-08-30-lapply/
ふと思い返すと、あの変化はほんの数年前からじわじわ始まったような気がする。何となく世間で話題になり始めた頃、誰も確信を持ってはいなかったというか、むしろ「まあ、しばらくしたら落ち着くんじゃない?」くらいの感覚だった人も多かったみたい。けれど実際には、その後しばらくしてから徐々に周囲でも似たような状況を耳にすることが多くなった気がする。どこかで見た初歩的な報道によれば、この傾向は特定の年代だけでなく広い層にも広がりつつある、と言われていた記憶がある。ただ、その時点ではまだ大きな流れとは断言できない程度だったかもしれない。今思うと、あんなふうに静かに進行していたという印象が強い。

Related to this topic:

Comments

  1. Guest 2026-02-07 Reply
    最近さ、子どもの学校関連のアンケートまとめる羽目になっちゃって。で、Rのdata.table初めてちゃんと触ったんだけど、うーん…最初は正直「ムリかも」って思ってたんだよね。なんかあれこれ難しい言葉ばっかり出てくるし、何がどう速いの?みたいな。でもやっぱり複数列を同時にいじれるのとか、一括で集計できる感じ? あれ本当にありがたかったな…。例えば生徒ごとの点数出して、そのままイベント参加状況もまとめて…みたいなのサクッとできて、“これ、便利じゃん!”って普通に声出ちゃったわ。 そういえば他にも使い道ある?data.table使ってる人って実際どういう場面多いんだろう。大量データ処理には強いイメージあるけど、本当はもっと裏技的なこととかあるのかな。自分の場合だと、とにかく家事・育児と並行作業だから、一個でも楽になるなら知りたい!些細な工夫とか、「こうやったら速かったよ」みたいなの教えてくれる人いたら助かるんだけど。ほんと時間足りなくなる一方なので…。
  2. Guest 2025-12-19 Reply
    Rのdata.table使ってると、まあ複数列まとめて操作したい時、結構ある。疲れてると特に、一つずつやってらんない。海外の人も同じみたいで、「マジ助かる」って何度聞いたか…。グループ集計も本当に速いから他ではもう戻れない感じ。最近また触ったけど、やっぱ手放せないなと思っただけ。