Как вставить строку в параметр keyby в data.table - PullRequest
2 голосов
/ 06 мая 2020

Я знаю, что могу это сделать,

x<- data.table( mtcars )
x[ , .N , by = as.numeric( gear==4 & carb==4) ]

Но я не знаю, как это сделать с символьными строками. Если бы я использовал одно имя переменной, я мог бы использовать get(), и это сработало бы

x[ , .N , by = get( "as.numeric( gear==4 & carb==4)") ]

1 Ответ

1 голос
/ 06 мая 2020

Самый простой - eval(parse

library(data.table)
x[ , .N , by = .(grp = eval(parse(text = "as.numeric( gear==4 & carb==4)") ))]
#   grp  N
#1:   1  4
#2:   0 28
...