【问题标题】:R, GLM model: Selection of significant variables from full modelR,GLM 模型:从完整模型中选择重要变量
【发布时间】:2016-02-24 18:54:46
【问题描述】:

我需要运行 GLM 并尝试使用 this 方法选择重要变量。但是,我不断收到错误消息。

输入是:

global.model2<-lm(Percent_Mite._rel_abundc ~ Heightc + logNutrientsc + logNDSc + logNNNc + logOxygenc + Patchc + Precipitationc)

然后我跑

Select <- summary(global.model2)$coeff < 0.05

导致

                 Estimate Std. Error t value Pr(>|t|)
(Intercept)        TRUE      FALSE    TRUE    FALSE
Heightc            TRUE      FALSE    TRUE    FALSE
logNutrientsc     FALSE      FALSE   FALSE    FALSE
logNDSc            TRUE      FALSE    TRUE     TRUE
logNNNc           FALSE      FALSE   FALSE     TRUE
logOxygenc         TRUE      FALSE    TRUE    FALSE
Patchc            FALSE      FALSE   FALSE    FALSE
Precipitationc     TRUE      FALSE    TRUE    FALSE

下一步:

Relevant <- names(Select)[Select == TRUE]

这里,结果是

NULL

和下面的命令

sig.formula <- as.formula(paste("Percent_Mite._rel_abundc ~",paste(Relevant, collapse= "+")))

导致错误信息

"Error in parse(text = x, keep.source = FALSE) : <text>:2:0: unexpected end of input 1: Percent_Mite._rel_abundc ~ ^

我做错了什么?一些变量应该很重要。

【问题讨论】:

  • 我想你想要Relevant &lt;- names(Select)[Select[ ,4] == TRUE]
  • 我能否推荐 (1) sig.formula &lt;- reformulate(Relevant,response="Percent_Mite._rel_abundc") 而不是您当前的 sig.formula 调用 (2) 根本不这样做出于统计原因(例如,请参阅 here
  • 你可以。统计学真的不是我的领域,我能得到的每一个提示都非常感谢。您将如何处理手头的数据集?

标签: r statistics glm


【解决方案1】:

您正在对矩阵进行操作,但代码假设为向量。我相信您想要生成布尔向量而不是返回整个系数表。

( Select <- summary(global.model2)$coeff[-1,4] < 0.05 )  
( Relevant <- names(Select)[Select == TRUE] )

【讨论】:

    猜你喜欢
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 2012-11-04
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    相关资源
    最近更新 更多