【问题标题】:In R how to get the p-value (significance level) for selected variables rather than all variables (F-test) from a linear regression?在 R 中,如何从线性回归中获取选定变量而不是所有变量(F 检验)的 p 值(显着性水平)?
【发布时间】:2019-07-03 07:08:44
【问题描述】:

假设我有一个结果 Y(心脏病),我对 4 个自变量(A、B、C、D)对 Y 的影响感兴趣。另外我想考虑年龄和性别的信息. 所以我的模型是:

model1=lm(Y~A+B+C+D+age+sex,data=MyData,na.action=na.omit)

我知道,从 F 检验我可以得到一个 p 值,代表模型中所有变量的显着性水平。但是,如果我只想得到一个 p 值,只代表模型 1 中的 4 个变量的 A、B、C、D 的显着性水平(我在模型 1 中仍然有年龄和性别),我该怎么办。

非常感谢。

【问题讨论】:

  • summary(lm(...whatever...)) 输出每个变量的重要性。
  • 好的,谢谢。但是请问有什么办法可以消除F检验中的年龄和性别信息吗?
  • 我不清楚你想做什么,但你可以运行anova 来比较多个模型:anova(fm1, fm2) 其中fm1fm2 是两个不同lm 的结果来电。

标签: r p-value


【解决方案1】:

这是一个示例,带有 mtcars 数据集。由于我没有您的数据,因此我无法准确重现您的问题。

# Model with many variables
mod <- lm(mpg ~ cyl + disp + hp + drat, data = mtcars)

# Show p-values for variables cyl and disp only, but using the full model
summary(mod)$coefficients[c("cyl", "disp"), ]

所以就你的代码而言,试试

summary(model1)$coefficients[c("A","B","C","D"), ]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 2014-05-27
    • 2011-08-01
    • 2021-06-13
    • 2022-07-22
    相关资源
    最近更新 更多