我正在使用zeroinfl
来自的函数运行一个零膨胀负二项式回归模型pscl
。
我需要从模型中排除 NA,以便能够在分析后期根据因变量绘制残差。
因此,我想设置na.action="na.exclude"
. 对于非零膨胀负二项式回归模型(glm.nb
从glm
包中使用),我可以毫无问题地做到这一点,例如。
fm_nbin <- glm.nb(DV ~ factor(IDV) + contr1
+contr2 + contr3, data=df,
subset=(df$var<500), na.action="na.exclude")
fm_nbin.res = resid(fm_nbin)
plot(fm_nbin.res~df$var)
工作正常。但是,当我对零膨胀模型执行相同操作时,它不起作用:
zinfl <- zeroinfl(DV ~ factor(IDV) + contr1
+contr2 + contr3 | factor(IDV) + contr1
+contr2 + contr3, data=df,
subset=(df$var<500), na.action="na.exclude")
zinfl.res = resid(zinfl)
plot(zinfl.res~df$var)
给出错误
Error in function (formula, data = NULL, subset = NULL, na.action = na.fail, :
variable lengths differ (found for 'df$var')
我应该使用其他命令从回归中排除 NA 吗?
编辑: 这是我能找到的最接近的答案。它可以以某种方式应用于我的问题吗?另外,可以naresid
以某种方式应用吗?