我构建了一个线性回归模型reg_model1,模型中有因子。然而,在模型中的不同因子集中,很少有因子与其他连续变量一起具有显著性。是否有任何代码可以提供给reg_model1以生成仅输出最适合模型的预测因子的摘要?
从统计学的角度来看,我认为你混淆了影响因变量的自变量和模型的拟合优度,所以我的建议是确定你试图获得什么。也就是说,如果你想要一个只包括一些变量的模型表示,你可以用broom::tidy
:将其转换为一个数据帧
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
library(broom)
### Create factors ###
mtcars <- mutate(mtcars, across(c(vs, am, gear), as.factor))
lm(mpg ~ disp + vs + am + gear, data=mtcars) |>
tidy() |>
filter(p.value <= 0.05)
#> # A tibble: 3 × 5
#> term estimate std.error statistic p.value
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 (Intercept) 24.7 3.36 7.34 0.0000000865
#> 2 disp -0.0282 0.00924 -3.05 0.00518
#> 3 am1 4.67 2.09 2.23 0.0345
创建于2021-11-20由reprex包(v2.0.1(
我建议逐步回归/逐步选择。有了这个,你可以根据RSME和贴合度选择最佳贴合度。以下是在mtcars数据集上执行的一个很好的源代码。还有其他几个包提供了几乎相同的东西。为此,我个人更喜欢使用阶跃函数。
step.model <- step(lm(mpg ~ ., mtcars), direction="both", trace=FALSE);
summary(step.model)
您可能使用的另一个逐步回归R包"StepReg",
例如,
formula <- mpg ~ .
stepwise(formula=formula,
data=mtcars,
include="am",
selection="bidirection",
select="SL",
sle=0.15,
sls=0.15)