by
data.tableでキーワードを使用してグループ化すると、常にそのby
列が最初の列として返されます。これを行わないように指示するフラグ/オプションはありますか?それともそれを取り除く賢い方法ですか?
特に、グループ化しrbindlist
てから元のテーブルに移動したいので、実際には、この問題は「列の並べ替えを停止する方法」と言うこともできます。
例えば:
DT = data.table(I = as.numeric(1:6), N = rnorm(6), L = rep(c("a", "b", "c"), 2))
DT[, list(I = mean(I), N = mean(N)), by= L]
DT
与える:
> DT[, list(I = mean(I), N = mean(N)), by= L]
L I N
1: a 2.5 0.4291802
2: b 3.5 0.6669517
3: c 4.5 -0.6471886
> DT
I N L
1: 1 1.8460998 a
2: 2 0.7093438 b
3: 3 -1.7991193 c
4: 4 -0.9877394 a
5: 5 0.6245596 b
6: 6 0.5047421 c
リクエストに関する限り、これrbindlist
を実行できると便利です。
DT = rbindlist(list(DT, DT[, list(I = mean(I), N = mean(N)), by= L]))
多分
DT = rbindlist(list(DT, DT[, list(I = mean(I), N = mean(N), L), by= L]))
または類似のもの(どちらも機能しません)