【发布时间】:2017-08-21 18:06:12
【问题描述】:
我想分析2种处理对植物物种丰度沿时间梯度变化的影响。
实验设计包括封闭区(处理 = 没有驼鹿)和对照地块(处理 = 驼鹿)。一个站点由 1 个隔离区 + 1 个控制地块组成。有 15 个站点(因此 15 个封闭区 + 15 个配对地块 = 30 个实验单元)。每个实验单元都有唯一的“id”。冷杉的丰度(比例:0 到 1 之间的连续值)已监测 5 年(每年一次 = 重复测量)。所以重复的措施嵌套在“id”里面。
我想分析处理对冷杉丰度的影响,同时控制数据的配对结构和重复测量。
由于响应数据是一个比例(0 到 1 之间的丰度),因此我一直使用 family=binomial 的 GLMM。
但是,我不完全确定如何编写模型。我试过了:
fit = glmer(fir ~ treatment*time + (time|id) + (1|site), data=dat1, family=binomial)
如果我做对了,“(1|site)”将控制成对结构,而“(time|id)”将控制重复结构(因为“time”嵌套在“id”中)。
但我收到以下错误:
Warning messages:
1: In eval(family$initialize, rho) :
non-integer #successes in a binomial glm!
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
unable to evaluate scaled gradient
3: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Hessian is numerically singular: parameters are not uniquely determined
知道我的模型出了什么问题以及这些错误消息是什么意思吗?
谢谢
【问题讨论】:
-
使用reproducible example 会更容易提供帮助。听起来可能无法使用您拥有的数据来估计您想要的模型的参数。
-
你不会编码像“(1|time/id)”这样的嵌套效果吗?