嵌套成功(二项式glmm)在r

时间:2015-04-09 20:05:10

标签: r anova mixed-models

我在R:

中使用glmer()运行GLMM
glmer(survive ~ fyear + site + fyear * site.x + (1|fyear),
family = binomial(link = logexp(shaffer.sub$exposure)),
data = shaffer.sub)

存活率为0或1,具体取决于嵌套是否成功。 Here您可以看到数据的样子:

structure(list(id = structure(1:7, .Label = c("1", "2", "3", 
"4", "5", "6", "7"), class = "factor"), year.x = structure(c(1L, 
1L, 2L, 3L, 3L, 3L, 3L), .Label = c("1994", "1995", "1999"), class = "factor"), 
    survive = structure(c(1L, 2L, 2L, 2L, 2L, 2L, 1L), .Label = c("0", 
    "1"), class = "factor"), fyear = structure(c(1L, 1L, 2L, 
    3L, 3L, 3L, 3L), .Label = c("1994", "1995", "1999"), class = "factor"), 
    site.x = structure(c(1L, 2L, 1L, 1L, 1L, 2L, 1L), .Label = c("N", 
    "S"), class = "factor")), .Names = c("id", "year.x", "survive", 
"fyear", "site.x"), row.names = c(NA, -7L), class = "data.frame")

但是我收到了这条警告信息:

*Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model failed to converge with max|grad| = 0.0299425 (tol = 0.001, component 12)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model is nearly unidentifiable: large eigenvalue ratio
 - Rescale variables?*

我被告知我不应该使用相同的随机因素作为同一模型的固定效果。

最后,我希望有一个输出,我可以看到年份,网站和互动年份:网站效果。就像在ANOVA表中一样(这可能吗?我一直在尝试使用summary(aov(model))但这不起作用; anova(model)也没有。

我为aov()命令收到此错误:

*Error in summary`(aov(syearXsite))` : 
  error in evaluating the argument 'object' in selecting a method for function 'summary': Error in if (fixed.only) { : argument is not interpretable as logical*

我怎样才能看到这些变量对生存的影响?

1 个答案:

答案 0 :(得分:1)

谁告诉你不要使用分类输入变量(fyear)作为固定和随机效果都是正确的。很难确切知道要推荐什么,这取决于您在数据集中拥有的年数和网站数(是您链接到所有数据的数据(我希望不是),或者只是前几行?你有多少年,多少个站点以及总观测数量?)

如果您希望将年份视为随机,将网站视为固定(如果您的数据中只有两个网站(NS相比),这将是明智的,并且需要几年时间,例如超过5)然后你可以适应:

g1 <- glmer(survive~site.x+(site.x|fyear),
      family=binomial(link=logexp(shaffer.sub$exposure)),
      data=shaffer.sub)

我不知道site vs site.x是什么:我只在您的数据摘要中看到site.x

要获取信息,请尝试summary(g1)。 (这只会给你随机效应的差异,而不是固定效果; GLMM不像ANOVA那样在“方差解释”模式下运行,特别是因为不同术语解释的差异通常加起来总方差。)