如何在R的lm函数中指定公式

时间:2015-01-19 11:19:00

标签: r

我在R中有一个功能,比如说

myfunction <- function(formula,data)

除此之外,该函数还包含对lm()的调用。公式应包括协变量,并应指定为

公式= x1 + x2 + ... + x_n

数据包含Z和W列,其中包含响应

y=data$Z/data$W

我只想要包含协变量的公式,因为函数会修改每次迭代的响应变量。

lm()的调用应该与

一起使用
lm(y~formula,data=data)

1 个答案:

答案 0 :(得分:1)

你为什么这样做?在myfunction中传递整个公式比较清晰,例如:

myfunction <- function(formula,data) {
   data = data*2   # this is an example of data manipulation
   lm(formula=formula, data=data)
}

然后使用myfunction,就像使用lm

一样

如果您真的想要创建复杂性(什么都不是?),您还可以使用lm强制将string作为参数传递给适当的formula对象的事实

myfunction2 <- function(formula2,data) {
   data = data*2   # this is an example of data manipulation
   lm(formula=paste0("y~",formula2), data=data)
}