R,GLM模型:从完整模型中选择重要变量

时间:2016-02-24 18:54:47

标签: r statistics glm

我需要运行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 ~ ^

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

1 个答案:

答案 0 :(得分:2)

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

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