【问题标题】:GlmmTMB model and emmeansGlmmTMB 模型和 emmeans
【发布时间】:2023-01-02 06:52:23
【问题描述】:

我是 glmmtmb 模型的新手,所以遇到了问题。 我建立了一个模型,然后基于 AICtab 和 DHARMa 这是最好的:

Insecticide_2<- glmmTMB(Insect_abundace~field_element+land_distance+sampling_time+year+treatment_day+(1|field_id),
                           data=Insect_002,
                           family= nbinom2)

在 glmmTMB 之后,我运行了 Anova(来自 Car),然后是 emmeans,但是 emmeans 中 p 值的结果是相同的(不是 lower.CL 或 upper.CL)。可能是什么问题?模型是否过拟合?我做 emmeans 的方式是错误的吗?

Anova 还显示 land_distance、sampling_time、treatment_day 显着,年份几乎显着 (p= 0.07)

comp_emmeans1<-emmeans(Insect_002, pairwise ~ land_distance|year , type = "response") 

> comp_emmeans1
$emmeans
Year = 2018:
land_distance response    SE  df lower.CL upper.CL
 30m           2.46 0.492 474    1.658     3.64
 50m           1.84 0.369 474    1.241     2.73
 80m           1.36 0.283 474    0.906     2.05
 110m          1.25 0.259 474    0.836     1.88

Year = 2019:
land_distance response    SE  df lower.CL upper.CL
 30m           3.42 0.593 474    2.434     4.81
 50m           2.56 0.461 474    1.799     3.65
 80m           1.90 0.335 474    1.343     2.68
 110m          1.75 0.317 474    1.222     2.49

Results are averaged over the levels of: field_element, sampling_time, treatment_day
Confidence level used: 0.95 
Intervals are back-transformed from the log scale 

$contrasts
year = 2018:
 contrast    ratio  SE  df   null t.ratio p.value
 30m / 50m   1.34 0.203 474    1   1.906  0.2268
 30m / 80m   1.80 0.279 474    1   3.798  0.0009
 30m / 110m  1.96 0.311 474    1   4.239  0.0002
 50m / 80m   1.35 0.213 474    1   1.896  0.2311
 50m / 110m  1.47 0.234 474    1   2.405  0.0776
 80m / 110m  1.09 0.176 474    1   0.516  0.9552

year = 2019:
 contrast    ratio SE   df   null t.ratio p.value
 30m / 50m   1.34 0.203 474    1   1.906  0.2268
 30m / 80m   1.80 0.279 474    1   3.798  0.0009
 30m / 110m  1.96 0.311 474    1   4.239  0.0002
 50m / 80m   1.35 0.213 474    1   1.896  0.2311
 50m / 110m  1.47 0.234 474    1   2.405  0.0776
 80m / 110m  1.09 0.176 474    1   0.516  0.9552

Results are averaged over the levels of: field_element, sampling_time, treatment_day
P value adjustment: tukey method for comparing a family of 4 estimates 
Tests are performed on the log scale 

我应该使用不同的比较方式吗?我看到有的用poly~,我试了一下,结果图片是一样的。我也在比较正确的东西吗?

最后一个也是重要的问题是我应该如何报告 glmmTMB、Anova 和 emmeans 结果?

【问题讨论】:

    标签: r emmeans glmmtmb


    【解决方案1】:

    我不记得以前见过这个问题,但已经 8 个月了,也许我只是忘记了。

    无论如何,我不确定到底是什么问题,但是发生的三件事可能会引起一些混乱:

    1. emmeans() 调用具有规范 pairwise ~ land_distance|year,这导致它计算两个都手段及其成对比较。我认为将这些步骤分开几乎总是能更好地为用户服务,因为估计均值和估计对比是两件不同的事情。

    2. 默认的均值汇总方式(估计值、SE 和置信区间)不同于比较或其他对比的默认方式(估计值、SE、t 比率和调整后的 P 值)。这是因为,正如我之前所说,有两种不同的东西,通常人们想要 CI 表示均值,而 P 值表示对比。见下文。

    3. 此模型中有一个对数链接,在对比方面具有特殊属性,因为对数尺度上的差异是比率的对数。所以当我们有type = "response"时,我们会显示一个比率。 (对于大多数其他链接函数,无法反向转换转换值的差异。)

      根据 (1),我的建议是首先获取方法(而不是比较):

      EMM <- emmeans(Insect_002, ~ land_distance|year , type = "response")
      EMM    # see the estimates
      

      接下来可以进行成对比较:

      CON <- pairs(EMM)   # or contrast(EMM, "pairwise")
      CON            # see the ratios as shown in the OP
      confint(CON)   # see confidence intervals instead of tests
      confint(CON, type = "link")   # See the pairwise differences on the log scale
      

      如果您真的想要响应尺度上的差异而不是比率,那也是可能的:

      pairs(regrid(EMM))    # tests
      confint(pairs(regrid(EMM))    # CIs
      

    【讨论】:

      猜你喜欢
      • 2020-01-03
      • 1970-01-01
      • 2019-12-21
      • 1970-01-01
      • 2019-03-04
      • 1970-01-01
      • 2020-02-09
      • 2021-11-07
      • 1970-01-01
      相关资源
      最近更新 更多