R函数:如何将响应变量作为参数传递?

R函数:如何将响应变量作为参数传递?,r,function,glm,R,Function,Glm,当我使用诸如glm之类的函数时,我需要指定显式公式,例如: glm(sales ~ ., data = database) 然而,当我在函数中使用这个函数时,响应变量并不总是“sales”。为了解决这个问题,我有没有办法将glm函数的公式参数设置为“动态”的?如下所示 dynamic <- function(database, response){ fmla <- as.formula(paste(response, ".", sep = "~")) glm(fml

当我使用诸如
glm
之类的函数时,我需要指定显式公式,例如:

glm(sales ~ ., data = database)

然而,当我在函数中使用这个函数时,响应变量并不总是“sales”。为了解决这个问题,我有没有办法将
glm
函数的公式参数设置为“动态”的?

如下所示

dynamic <- function(database, response){
    fmla <- as.formula(paste(response, ".", sep = "~"))
    glm(fmla, data = database)
}

dynamic如果所有术语以线性方式输入,则可以使用
重新格式化
glm(重新格式化(myControls,yVar),data=database,…)
其中myControls是列名的字符向量,yVar是长度为1的字符向量。您可以沿存储多个“yVar”值的字符向量运行
for
循环或
lappy