Я застрял с небольшой проблемой 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)
, который, похоже, работает.