是否可以在同一个回归模型中添加多个变量?
Posted
技术标签:
【中文标题】是否可以在同一个回归模型中添加多个变量?【英文标题】:Is it possible to add multiple variables in the same regression model? 【发布时间】:2022-01-22 21:29:53 【问题描述】:这些是我想要获得的回归模型。我想同时选择多个变量来开发多变量模型,因为我的数据框有 357 个变量。
总结(lm(公式 = bci_bci ~ bti_acp, 数据 = qog))
总结(lm(公式 = bci_bci ~ wdi_pop, 数据 = qog))
总结(lm(公式 = bci_bci ~ ffp_sl, 数据 = qog))
【问题讨论】:
summary(lm(bci_bci ~ bti_acp + new_variable_1 + new_variable_2 + ....+ new_variable_n, data = qog))
还有 bci_bci ~ 。其中右侧只是一个点将使用数据中的所有列作为预测变量,而不是用于因变量的列。
【参考方案1】:
除了使用+
符号列出所有变量之外,您还可以使用简写符号.
将data
中的所有变量添加为解释变量(当然左侧的目标变量除外)。
data("mtcars")
mod <- lm(mpg ~ ., data = mtcars)
summary(mod)
#>
#> Call:
#> lm(formula = mpg ~ ., data = mtcars)
#>
#> Residuals:
#> Min 1Q Median 3Q Max
#> -3.4506 -1.6044 -0.1196 1.2193 4.6271
#>
#> Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) 12.30337 18.71788 0.657 0.5181
#> cyl -0.11144 1.04502 -0.107 0.9161
#> disp 0.01334 0.01786 0.747 0.4635
#> hp -0.02148 0.02177 -0.987 0.3350
#> drat 0.78711 1.63537 0.481 0.6353
#> wt -3.71530 1.89441 -1.961 0.0633 .
#> qsec 0.82104 0.73084 1.123 0.2739
#> vs 0.31776 2.10451 0.151 0.8814
#> am 2.52023 2.05665 1.225 0.2340
#> gear 0.65541 1.49326 0.439 0.6652
#> carb -0.19942 0.82875 -0.241 0.8122
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> Residual standard error: 2.65 on 21 degrees of freedom
#> Multiple R-squared: 0.869, Adjusted R-squared: 0.8066
#> F-statistic: 13.93 on 10 and 21 DF, p-value: 3.793e-07
par(mfrow=c(2,2))
plot(mod)
par(mfrow=c(1,1))
由reprex package (v2.0.1) 于 2021 年 12 月 21 日创建
如果您想包含所有双向交互,则表示法将是:
lm(mpg ~ (.)^2, data = mtcars)
如果您想包含所有三向交互,则表示法是这样的:
lm(mpg ~ (.)^3, data = mtcars)
如果您创建非常大的模型(包含许多变量或交互),请确保在此之后还执行一些模型尺寸缩减,例如使用函数step()
。很可能并非所有的预测变量实际上都会提供信息,而且许多预测变量可能是相关的,这会导致多变量模型出现问题。解决此问题的一种方法是从模型中删除与其他预测变量高度相关的任何预测变量。
【讨论】:
以上是关于是否可以在同一个回归模型中添加多个变量?的主要内容,如果未能解决你的问题,请参考以下文章