【问题标题】:Error in eval(family$initialize, rho) : y values must be 0 <= y <= 1 when fitting a GLMMeval(family$initialize, rho) 中的错误:拟合 GLMM 时,y 值必须为 0 <= y <= 1
【发布时间】:2022-01-01 13:07:46
【问题描述】:

尝试拟合一个 GLMM,该 GLMM 包含异女性和总体的随机效应,并包括测试的固定效应和交互:

  1. 男性和女性的热休克耐受性不同吗?
  2. 不同地区的苍蝇对热冲击的耐受性是否不同?
  3. 基础处理和硬化处理是否不同,即是否有驯化?
  4. 两个地区的驯化效果是否不同?
  5. 两种性别的驯化效果是否不同?
  6. 两个地区的性别影响是否不同?

我还需要使用包含在我的代码中的“个人级别随机效应”:

datheat$replicateID = factor(1:nrow(datheat))

mod = glmer(Survival ~ sex + region + treatment + treatment*region + 
treatment*sex + sex*region + (1|isofemale) + (1|population) + 
(1|replicateID), data = datheat, family =
binomial)
summary(mod)

但是,我不断收到此错误,我不知道如何解决它:

Error in eval(family$initialize, rho) : y values must be 0 <= y <= 1

这是我的数据样本 (datheat):

注意缩写列名(pop=populationiso = isofemaleS*=SurvivalX=X..&lt;something&gt;

    region      pop treatment   iso sex     rep n   S*  X   proportion
1   Southwest   CAJ hardening   D1  Females 1   10  2   20  0.2
2   Southwest   CAJ hardening   D1  Females 2   10  1   10  0.1
3   Southwest   CAJ hardening   D1  Females 3   10  5   50  0.5
32  Southwest   REG hardening   R4  Females 1   10  3   30  0.3
33  Southwest   REG hardening   R4  Females 2   10  1   10  0.1
34  Southwest   REG hardening   R4  Females 3   10  3   30  0.3
60  Southwest   REG hardening   Southwest2  Females 1   10  5   50  0.5
61  Southwest   REG hardening   Southwest2  Females 2   10  3   30  0.3
62  Southwest   REG hardening   Southwest2  Females 3   10  0   0   0
74  Southwest   PAV hardening   Pa1 Females 1   10  2   20  0.2
75  Southwest   PAV hardening   Pa1 Females 2   10  3   30  0.3
76  Southwest   PAV hardening   Pa1 Females 3   10  4   40  0.4
136 Southwest   CAN hardening   C2  Females 1   10  0   0   0
137 Southwest   CAN hardening   C2  Females 2   10  1   10  0.1
138 Southwest   CAN hardening   C2  Females 3   10  0   0   0

谢谢!

【问题讨论】:

  • 很难读取您的数据,如果您可以使示例可重现会更好。您的数据中survival 的范围是多少?
  • @joshmyers,这实际上不是真的。 (您链接的问题的答案之一是“如果您的回答是二元的,您可以使用二项式模型”,但那是不是“当且仅当”)
  • 好的,谢谢,我会删除我的评论。

标签: r mixed-models random-effects


【解决方案1】:

?binomial 帮助页面(以 R 为基数)解释了如何指定二项式响应。假设您的数据集中的n 列是每个试验中的个体数量,您需要指定“成功”和“失败”的数量作为两列矩阵的列:

glmer(cbind(Survival, n-Survival) ~ ..., ...)

或指定幸存的比例并将分母(暴露的总数)作为weights 参数:

glmer(proportion ~ ..., ..., weights = n)

虽然前者在 R 示例中更常见,但我更喜欢后者(但答案应该相同)。

【讨论】:

  • 这很有帮助!我将尝试第二个选项并指定权重 = n。有了这个,我还能使用family = binomial还是应该使用poisson?
  • 绝对是二项式,泊松没有意义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-06
  • 2021-05-06
  • 2021-08-02
相关资源
最近更新 更多