Если вы запустите:
mod <- lm(mpg ~ factor(cyl), data=mtcars)
Он работает, потому что lm знает, как искать mtcars, чтобы найти mpg и cyl.
Тем не менее mean(mpg)
выходит из строя, так как он не может найти mpg, поэтому вы делаете mean(mtcars$mpg)
.
Как вы кодируете функцию, чтобы она знала, что нужно искать в "данных" для переменных?
myfun <- function (a,b,data){
return(a+b)
}
Это будет работать с:
myfun(mtcars$mpg, mtcars$hp)
но сбой:
myfun(mpg,hp, data=mtcars )
Приветствия