我想将 plyr 函数包装在我自己的函数中。我想向函数传递一个对象和应用剪切函数的变量(未加引号)。
x <- data.frame(time = seq(Sys.Date() - 99, Sys.Date(), 1))
dlply(x, .(week = cut(time, "1 week")), "[")
f <- function(datas, var) {
var <- deparse(substitute(var))
dlply(x, .(week = cut(var, "1 week")), "[")
}
f(x, time) # fail
我不知道如何在 ddply 中使用对象 var 将其值指定为变量,而不是将“var”指定为变量。
与 dplyr 不同,没有 plyr 函数的标准评估版本?我读到我可以使用字符串,但例如dlply(x, .(week = cut("time", "1 week")), "[")
失败
我也尝试过lazyeval,但我迷失在标准/非标准评估领域。