我需要运行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 ~
^
我做错了什么?一些变量应该是重要的。
答案 0 :(得分:2)
您正在对矩阵进行操作,但代码假设为向量。我相信你想要产生布尔向量而不返回整个系数表。
( Select <- summary(global.model2)$coeff[-1,4] < 0.05 )
( Relevant <- names(Select)[Select == TRUE] )