Имена динамических столбцов в data.table

Я пытаюсь добавить столбцы в свой 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

Обновление от Матфея:

Теперь это работает в v1.8.3 на R -Forge. Спасибо, что выделили!
См. этот аналогичный вопрос для новых примеров:

Назначьте несколько столбцов с помощью data.table по группам

32
задан Henrik 1 August 2017 в 16:40
поделиться