使用ClusterSEs包时命令cluster.im的错误消息

时间:2015-03-27 15:45:51

标签: r syntax-error

我必须调整集群标准错误的逻辑回归模型。为此,我使用了包ClusterSEs和命令cluster.im。

我必须在数据集Tbf2中的级别:个人和村庄: Tbf2是我的小数据集,由变量Burned(二元变量;村级),Village(因子,村级)和VoteForER2(二元,个体级)组成。

我的代码如下:

#Make sure the data has the same length,
Tbf1 <- data.frame(cbind(Burned, Village, VoteForER2))
Tbf2 <- na.omit(Tbf1)

#Prediction of support for Authorities on Burned
###ER2 ; logistic regression
fm <- glm(Tbf2$VoteForER2 ~ Tbf2$Burned + Tbf2$, family=binomial(link="logit"))
display(fm)

#Adjusted p-values
clust.p <- cluster.im(fm, Tbf2, Village, ci.level = 0.95, report = T, drop = FALSE)

我的问题是,我不断收到以下错误消息:

Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : 
  contrasts can be applied only to factors with 2 or more levels

我无法弄清楚如何解决这个问题。就我自己而言,我在回归模型中有两个不同的级别。

我希望有人能够帮助我!

最佳, 索菲

1 个答案:

答案 0 :(得分:0)

cluster.im 函数的工作方式如下:

基于特定于群集的模型估计计算GLM模型的p值和置信区间 (Ibragimov和Muller 2010)。在每个聚类中估计一个单独的模型,然后是pvalues 并且基于特定于群集的t /正态分布来计算置信区间 估计。

无法估算每个群集的模型,因为每个村庄的Burned变量对于所有人来说都是相同的 - 整个村庄是否被烧毁。所以该模型要求更多数据 - 它说“给我至少两个不同级别的预测器”。