自己编了一个简单的函数,其中Month是data=airquality中的变量,airquality是R自带的数据。我想调用data中的其他变量对Month做方差分析,如Wind,Temp等,用y做形参传递。估计涉及到NSE吧,可能用到lazyeval包,或substitute函数,但这块一直搞不明白,请高手指教。
#函数
aaov <- function(y)
{
ao<-aov(y~Month,data=airquality)
}
#调用
#调用时发现:
>aaov("wind")
[url=]Show Traceback[/url]
[url=]Rerun with Debug[/url]
Error in model.frame.default(formula = y ~ Month, data = airquality, drop.unused.levels = TRUE) : 变数的长度不一样('Month')
>aaov(wind)
[url=]Show Traceback[/url]
[url=]Rerun with Debug[/url]
Error in eval(expr, envir, enclos) : 找不到对象'wind'