Я столкнулся с небольшой проблемой R с data.table
. Ваша помощь очень ценится. Как мне это сделать:
getResult <- function(dt, expr, gby) {
e <- substitute(expr)
b <- substitute(gby)
return(dt[,eval(e),by=b])
}
v1 <- "Sepal.Length"
v2 <- "Species"
dt <- data.table(iris)
rDT <- getResult(dt, sum(v1, na.rm=TRUE), v2)
Я получаю следующую ошибку:
Ошибка в сумме (v1, na.rm = TRUE): недопустимый «тип» (символ) аргумент
Теперь и v1
, и v2
передаются из другой программы как символьные переменные, поэтому я не могу этого сделать v1<- quote(Sepal.Length)
, что, кажется, работает.