我正在通过使用 glmmTMB 函数拟合两个负二项式混合模型来检查某个固定效应(此处为 effect3):一个有固定效应,一个没有固定效应。接下来,我执行似然比检验来检验effect3的显着性(示例数据):
eff1 <- c(0.026, 0.003, -0.008, -0.057, -0.022)
eff2 <- c(-0.002, -0.013, 0.036, 0.005, 0.074)
eff3 <- c(0.027, 0.021, -0.015, 0.008, 0)
counts <- c(18317, 19899, 11048, 23920, 20656)
data.eff <- data.frame(effect1 = eff1, effect2 = eff2, effect3 = eff3, Val = counts)
modeling <- function(m.data, vars){
# This is how the model should look like
f <- reformulate(termlabels = vars, response = outcome)
model <- glmmTMB(formula = f, data = m.data, family = nbinom2())
}
outcome <- "Val"
variables <- colnames(data.eff[,-which(colnames(data.eff) == "Val")])
variableswo <- colnames(data.eff[,-which(colnames(data.eff) == "Val")])[-3]
model1 <- modeling(m.data = data.eff, vars = variables)
model2 <- modeling(m.data = data.eff, vars = variableswo)
res <- lrtest(model1, model2)
可悲的是,我找不到评估效果大小的方法。或者更确切地说,许多潜在的方法似乎都不起作用。失败的想法之一是计算科恩的 f 平方:
r22 <- r2(model1)
r21 <- r2(model2)
f2 <- (r22-r21)/(1-r22)
但是,在使用上述代码时r2(model)
总是会产生值。NA
我认为错误在函数中,因为函数中的命令在一个接一个运行时起作用,但调用参数似乎会使它崩溃。可能跟环境有关?
因此,我的问题是:
- 我可以
glmmTMB()
将固定效应模型用于没有随机效应的模型吗? - 我如何计算这样的效果大小?科恩的 f2 是正确的选择吗?
- 给定上面的代码,我如何在 R 中实现它?我该如何修复该功能?
谢谢!