我无法解决一个问题 . 想写一个这样的函数:
f.describe <- function(.data, .var, .by)
{
require(plyr)
res <- ddply(.data, .by,
summarize,
N = sum(!is.na(.var))
`Mean (SD)`=sprintf("%5.2f (%5.2f)",
mean(.var, na.rm=TRUE), sd=sd(.var, na.rm=TRUE)),
Median = sprintf("%5.2f", median(.var))
)
res
}
但我找不到传递变量进行处理的方法(.var) . 有这个错误:
Error eval(expr, envir, enclos) : object '.var' was not found (翻译自其他语言,因此对于英语用户来说可能不是逐字的)
我试过eval,替代但没有解决方案......非常感谢你的帮助 . 有时我不理解 R 用于评估的规则 .
1 回答
在这种情况下,将函数传递给
ddply
而不是使用summarize
可能更容易: