在线性模型中结合cbind和paste

Kon*_*rad 5 string r formula lm cbind

我想知道如何能够提出一种lm公式语法,使我能够pastecbind多元多元回归一起使用.

在我的模型中,我有一组变量,它们对应于下面的原始示例:

data(mtcars)
depVars <- paste("mpg", "disp")
indepVars <- paste("qsec", "wt", "drat")
Run Code Online (Sandbox Code Playgroud)

问题

我想用我depVars和我创建一个模型indepVars.手动输入的模型看起来像这样:

modExmple <- lm(formula = cbind(mpg, disp) ~ qsec + wt + drat, data = mtcars)
Run Code Online (Sandbox Code Playgroud)

我有兴趣生成相同的公式,而不引用变量名称,只使用上面定义的depVarsindepVars向量.


尝试1

例如,我的想法将对应于:

mod1 <- lm(formula = formula(paste(cbind(paste(depVars, collapse = ",")), " ~ ",
                                   indepVars)), data = mtcars)
Run Code Online (Sandbox Code Playgroud)

尝试2

我也尝试过这个:

mod2 <- lm(formula = formula(cbind(depVars), paste(" ~ ",
                                                   paste(indepVars, 
                                                         collapse = " + "))),
           data = mtcars)
Run Code Online (Sandbox Code Playgroud)

旁注

  • 我找到了很多关于如何使用配方的好例子,paste但我想知道如何结合使用cbind.
  • 这主要是语法问题; 在我的真实数据中,我想要向模型引入一些变量,并且使用先前生成的向量更加简约,并使代码更具可呈现性.实际上,仅仅在创建公式对象,包含感兴趣的cbind与对应于一个矢量变量名和对应于另一矢量其余变量.
  • 总之,我想在modExample 不必输入变量名的情况下得出公式.

dan*_*kas 5

认为它有效.

data(mtcars)
depVars <- c("mpg", "disp")
indepVars <- c("qsec", "wt", "drat")

lm(formula(paste('cbind(',
                 paste(depVars, collapse = ','),
                 ') ~ ',
                 paste(indepVars, collapse = '+'))), data = mtcars)
Run Code Online (Sandbox Code Playgroud)