Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 通过sjPlots tab_模型和emmeans对比度函数调整后,同一LMM的不同调整p值?_R_Lme4_P Value - Fatal编程技术网

R 通过sjPlots tab_模型和emmeans对比度函数调整后,同一LMM的不同调整p值?

R 通过sjPlots tab_模型和emmeans对比度函数调整后,同一LMM的不同调整p值?,r,lme4,p-value,R,Lme4,P Value,我想我错过了一些基本知识,我可能忽略了一些重要的东西 背景:我有一个数据集,其中来自4个不同组(1个对照组和3个治疗组)的动物接受握力测试。每次试验包括5次测量。 为了了解治疗组与对照组之间的差异,使用lme4的lmer函数建立了线性混合模型,如下所示: model1<-lmer(griPASTA~group+(1|ID), data=all) 创建以下内容: [OHDA 6 vs CTR]p=0.001 。。。包括holm调整 sjPlot::tab_model(model1, p.

我想我错过了一些基本知识,我可能忽略了一些重要的东西

背景:我有一个数据集,其中来自4个不同组(1个对照组和3个治疗组)的动物接受握力测试。每次试验包括5次测量。 为了了解治疗组与对照组之间的差异,使用lme4的lmer函数建立了线性混合模型,如下所示:

model1<-lmer(griPASTA~group+(1|ID), data=all)
创建以下内容: [OHDA 6 vs CTR]p=0.001

。。。包括holm调整

sjPlot::tab_model(model1, p.adjust="holm")
规定如下: [OHDA 6 vs CTR]p=0.004

然而,当我尝试自己指定对比度并使用holm的相同校正时,我得到了非常不同的p值

e、 g


m1_emm我尝试了一个类似的例子,运动部件更少:

数据(植物生长)
模型估计标准误差t值Pr(>t)
#>(截距)5.0320.1971284 25.526514 1.936575e-20
#>组TRT1-0.371 0.2787816-1.330791 1.943879e-01
#>组TRT2 0.494 0.2787816 1.771996 8.768168e-02
如注释中所述,上面的
sjPlot::tab_model()
调用只会生成模型的
summary()
中系数的HTML版本

所以我要得到p值,然后对它们进行Holm调整:

p.unadj(截取)组trt1组trt2
#>      0.0000      0.1944      0.0877
#霍姆调整的P值。。。
圆形(p.adjust(p.unadj,“holm”),4)
#>(截获)组TRT1组TRT2
#>      0.0000      0.1944      0.1754
#霍姆调整,不包括截距。。。
圆形(p.adjust(p.unadj[-1],“holm”),4)
#>组TRT1组TRT2
#>    0.1944    0.1754
#将截距的P值替换为更大的值。。。
圆形(p.adjust(c(0.15,p.unadj[-1]),“holm”),4)
#>组TRT1组TRT2
#>     0.300     0.300     0.263 
我验证了
sjPlot::tab_模型(mod,p.adjust=“holm”)
产生的调整后p值(0.0000,0.1944,0.1754)与上述相同。在这个特定的例子中,当我们排除截距时,调整后的P值是相同的,但对于不同的P值模式,这不一定是正确的,如最终结果所示

现在看看
emmeans
结果:

库(emmeans)
EMM trt1-ctrl-0.371 0.279 27-1.331 0.1944
#>trt2-ctrl 0.494 0.279 27 1.772 0.0877
#Holm调整的P值
测试(CON,adjust=“holm”)
#>对比度估计SE df t.比值p.值
#>trt1-ctrl-0.371 0.279 27-1.331 0.1944
#>trt2-ctrl 0.494 0.279 27 1.772 0.1754
#> 
#>P值调整:2次试验的holm方法
由(v1.0.0)于2021年5月10日创建

这些结果与上面使用
summary()
中未经调整的p值获得的结果相匹配,并排除Holm调整前的截距

我确信OP中指出的差异是由于某些对象“过时”,即在进行某些更改之前获得,而其他结果是在更改之后获得的。我建议重新开始:重新拟合模型,重新计算所有正在比较的结果。我也曾有过同样的事情发生在我身上,因为很容易忘记在尝试一大堆其他事情时迈出的一步


对于混合模型,自由度问题可能会导致一些差异,但我认为这些差异很小,除非d.f.非常小。

请将结果以文本而不是图像的形式发布。谢谢你的建议,本。我将p值添加为文本。使用
method=“trt.vs.ctrl1”
比手动构建相同的对比度要简单得多。我查看了一些图像,我看到的结果是回归系数。四个回归系数中有三个是比较系数,但另一个是截距。因此,您将一组4个Holm校正的P值与另一组3个Holm校正的P值进行比较。这就解释了这种差异,因为霍尔姆校正适用于一整套P值。也可能进行不同的d.f.计算。emmeans使用Kenward-Roger方法:我不知道tab_模型做什么。
sjPlot::tab_model(model1, p.adjust="holm")
m1_emm <- emmeans(model1, specs = c("group"))
CTR <- c(1,0,0,0)
OHDA_12 <- c(0,1,0,0)
OHDA_6 <- c(0,0,1,0)
OHDA_6X <- c(0,0,0,1)
m1_simple<-contrast(m1_emm, method = list("CTR - OHDA 12" = CTR - OHDA_12,
                           "CTR - OHDA 6"= CTR - OHDA_6,
                           "CTR - OHDA 6 w/o REB"= CTR - OHDA_6X),
     adjust = "holm")%>% summary (infer=T)
m1_simple<-contrast(m1_emm, method = list("CTR - OHDA 12" = CTR - OHDA_12,
                           "CTR - OHDA 6"= CTR - OHDA_6,
                           "CTR - OHDA 6 w/o REB"= CTR - OHDA_6X),
     adjust = "none")%>% summary (infer=T)