Моя цель - назвать новый столбец таблицы данных на основе значения другой переменной. Как правило, это было бы просто, но с таблицами данных любое значение имени столбца принимается как строка, а не переменная (я думаю?)Ошибка использования eval() для вызова столбца data.table в r
Для этого я думал, что воспользуюсь функцией eval. Мой код:
library(data.table)
DT <- data.table(x = c(1,1,2,2,3), y = 6:10, z = 11:15)
sumtitle <- "Sum"
Output <- DT[ , j = list(eval(sumtitle) = sum(y)), by = x]
но это возвращает
Error: unexpected '=' in "Output <- DT[ , j = list(eval(sumtitle) ="
Это странно для меня, потому что
> eval(sumtitle)
[1] "Sum"
и
Output <- DT[ , j = list("Sum" = sum(y)), by = x]
работает, как ожидалось.
Любая помощь будет высоко оценена.