data.table
名前が動的である列をに追加しようとしています。by
さらに、これらの列を追加するときに引数を使用する必要があります。例えば:
test_dtb <- data.table(a = sample(1:100, 100), b = sample(1:100, 100), id = rep(1:10,10))
cn <- parse(text = "blah")
test_dtb[ , eval(cn) := mean(a), by = id]
# Error in `[.data.table`(test_dtb, , `:=`(eval(cn), mean(a)), by = id) :
# LHS of := must be a single column name when with=TRUE. When with=FALSE the LHS may be a vector of column names or positions.
別の試み:
cn <- "blah"
test_dtb[ , cn := mean(a), by = id, with = FALSE]
# Error in `[.data.table`(test_dtb, , `:=`(cn, mean(a)), by = id, with = FALSE) : 'with' must be TRUE when 'by' or 'keyby' is provided
マシューからの更新:
これは、R-Forgeのv1.8.3で機能するようになりました。ハイライトしてくれてありがとう!
新しい例については、次の同様の質問を参照してください。