我使用mblogit
函数运行一个多项模型,狩猎季节作为混合效应。模型运行得很好,但我无法运行Anova
函数(car
包)来获得偏差表的分析。我得到以下错误:
SS[n.terms + 1] <- if(missing(error))sumry$sigma^2 * mod$df.residual else error中的错误。SS:替换长度为零
我的代码如下
library(mclogit)
modeldata$Hunting_season <- modeldata$`Hunting season`
modeldata$Age_class <- modeldata$`Age class`
model_mult <- mblogit( formula = Age_class ~ Group*Sex + Period,
random = ~ 1|Hunting_season ,
data = modeldata)
summary(model_mult)
Anova(model_mult)
关于什么可能导致错误,或者我可以使用哪个替代函数,有什么建议吗?
1条答案
按热度按时间aemubtdh1#
要立即获得满足感并不容易(
Anova()
函数会自动为模型中每个预测变量的效果提供假设检验)。您可以尝试
methods("Anova")
,看看car::Anova()
可以适应哪些类型的模型(对象)(不幸的是,不是mblogit
或mclogit
对象)。你也可以试试查看哪些方法可用于您拟合的模型(尽管最后一组条目,即类
lm
,可能并不真正相关...)有一个
anova()
方法,但它只适用于比较已经拟合的模型的嵌套集-而不是分解单个模型。不过,您可以通过拟合嵌套模型(通过在公式右侧添加/减去项或替换RHS)手动完成此操作。坏消息是,你只能用这种方式比较模型的嵌套序列,并得出关于该序列中包含/排除的项的重要性的结论。
下面是一个例子:
计算复杂模型中项的显著性的困难在于(在平衡实验设计中的线性模型之外)显著性取决于评估项的顺序。
car::Anova()
有更好的方法来做到这一点(它的“类型2”Anova评估模型中包含的所有其他项的焦点项,除了涉及该项的高阶相互作用;其“类型3”不同-请参阅?car::Anova
中的“详细信息”和“警告”部分)。替代方案将是计算AIC表,例如关于
MuMIn::dredge