Iを(a、b)はR:カラム名のリストによってグループ
joinedTable = a[b, on = columnName]
私はCON基づいて行の組み合わせの頻度をカウントする2つの他のテーブル間の結合の結果であるデータテーブルを有しています変更可能な列名(すべて、途中の1つ)。問題は、それがハードコードではなく、変数とされて動作します:私はしようとした場合
joinedTable[, list(freq =.N), by = list(COLUMN_A, COLUMN_B, ...)] # works
# what's next doesn't
columns = names(joinedTable)[-which(names(joinedTable) %in% c('COLUMN_F', 'COLUMN_G',...))]
joinedTable[, list(freq =.N), by = as.list(columns)] # doesn't work
それはダイナミック私はこのエラーが出る:それが動作するように
Error in `[.data.table`(joinedTable, , list(freq = .N), by = list(outColumns)) :
The items in the 'by' or 'keyby' list are length (13). Each must be same length as rows in x or number of rows returned by i (23).
は、それはどのようにすべきですか?
この質問は話題にはなりません。私はプログラミングの問題を解決する方法を明確に求めています。 – Leo
Getting Started wikiを使いましたか? https://github.com/Rdatatable/data.table/wiki/Getting-started – MichaelChirico