如果你运行:
mod <- lm(mpg ~ factor(cyl), data=mtcars)
lm知道在mtcars中查找mpg和cyl,所以代码可以运行。
然而, mean(mpg)
的执行会失败,因为它无法找到 mpg 变量,因此需要使用 mean(mtcars$mpg)
。
如何编写一个函数,使它知道在'data'中查找变量?
myfun <- function (a,b,data){
return(a+b)
}
这将适用于:
myfun(mtcars$mpg, mtcars$hp)
但是会失败,错误信息为:
myfun(mpg,hp, data=mtcars )
干杯