【发布时间】:2018-10-07 07:42:13
【问题描述】:
当使用包R2MLwiN 拟合完全随机的两级空模型时,我收到一条错误消息。我的数据框是联合国儿童基金会为莫桑比克开发的多指标类集调查的子集。我的响应变量是agem.18 二进制("Yes", "No"),表示该女性是否在 18 岁之前结婚。与否。
> table(moz.20$agem.18, useNA = "ifany")
No Yes
5934 5405
我的两个级别按降序排列是province 和w.id。这是我运行的代码
# Random effect
F1 <- logit(agem.18) ~ 1 + (1 | province) + (1 | w.id)
rand.eff <- runMLwiN(Formula = F1, D = "Binomial", data = moz.20)
这是我收到的错误消息
Invalid link function specified: NA
Error in runMLwiN(Formula = F1, D = "Binomial", data = df) :
我最初认为logit 函数被car 包所掩盖,但事实并非如此。我还认为问题出在链接函数中的denom 调用中,但我读到R2MLwiN 应该自动将denom 创建为一组1。如果我将包lme4 与相同的数据、变量和级别一起使用,我不会收到任何错误:
(fit <- glmer(agem.18 ~ 1 + (1 | province), family = binomial("logit"), data = moz.20)
Generalized linear mixed model fit by maximum likelihood (Laplace
Approximation) [glmerMod]
Family: binomial ( logit )
Formula: agem.18 ~ 1 + (1 | province)
Data: moz.20
AIC BIC logLik deviance df.resid
14907.498 14922.170 -7451.749 14903.498 11337
Random effects:
Groups Name Std.Dev.
province (Intercept) 0.5366
Number of obs: 11339, groups: province, 11
Fixed Effects:
(Intercept)
-0.04992
如果我对包R2MLwiN 使用demo UserGuide09.R 中包含的非常相似的公式,我不会遇到同样的问题。
(mymodel1 <- runMLwiN(logit(use) ~ 1 + lc, D = "Binomial", data = bang))
目前我唯一的猜测是,由于某些原因,R2MLwiN 无法将我的响应变量 agem.18 识别为二进制。
有什么建议吗?
谢谢
马诺洛
【问题讨论】:
-
runMLwiN(Formula = logit(agem.18) ~ 1 + (1 | province) + (1 | w.id) , D = "Binomial", data = moz.20)怎么样,它有效吗? -
是的,同样的错误信息。抱歉,我忘了提到我已经尝试过了,都指定了
Formula =,而不是在第一个括号之后。
标签: r lme4 multilevel-analysis