Lsmeans 在控制两个其他因素时产生相同的 p 值

Lsmeans producing identical p values when controlling for two other factors

以前我在使用 lsmeans 识别组之间的显着差异同时使用 lme4 模型控制其他因素时没有遇到任何问题。但是,对于以下查看荧光的数据集,无论其他因素水平如何,lsmeans 都会产生相同的 p 值

可在此处找到此示例中使用的部分数据: https://drive.google.com/file/d/0B3-esLisG8EbTzA3cjVpRGtjREU/view?usp=sharing

数据

回复:此处 1/0 presence/absence。 (还有平均像素强度和 cbind 百分比覆盖率)

固定系数 1:热处理 - 2 级

固定因素 2:比赛待遇 - 2 级

固定因素 3:时间处理 - 2 个级别

随机因素:none

模型创建

library(lme4)
model<-glm(presence ~ heat.treatment + competition.treatment + time.post.mating.hrs,  binomial(link= "logit"), data=gfptest)

最初包含交互项,但根据 AIC 测试,它们的存在并不显着。使用 drop1 对固定因子去除热进行显着性检验很重要

drop1(model, test= "Chi")
# presence ~ heat.treatment + competition.treatment + time.post.mating.hrs
#                      Df Deviance    AIC    LRT Pr(>Chi)   
#<none>                     30.589 38.589                   
#heat.treatment         1   39.114 45.114 8.5251 0.003503 **
#competition.treatment  1   30.876 36.876 0.2868 0.592297   
#time.post.mating.hrs   1   32.410 38.410 1.8206 0.177237   

我想在控制竞争处理和时间处理的同时测试控制和热处理之间的差异,例如。在时间点 0.5 小时且没有竞争的情况下,控制和加热之间的存在显着不同,在 24 小时时间点和无竞争的情况下,控制和加热之间的存在显着不同,等等。我已经尝试过 lsmeans 函数(multcomp 产生相似的结果)

lsmeans(model, pairwise~heat.treatment+competition.treatment+time.post.mating.hrs, adjust="tukey")

更明确地说

model <- lsmeans(model, "heat.treatment", by = "competition.treatment", at = list( time.post.mating.hrs = "0.5"))
modelsum<- summary(model, infer= c(TRUE,TRUE), level= .90, adjust= "bon", by="competition.treatment")
modelsum

对(型号)

但是,两者在每个组组合中给出相同的 p 值;在查看箱线图和对数据等级进行成对的 mann-whitney-U 测试时,有些东西似乎不准确

$contrasts
 contrast                                            estimate           SE df z.ratio p.value
control,single,0.5 - heat,single,0.5              18.3718560 2224.3464134 NA   0.008  1.0000
control,competition,0.5 - heat,competition,0.5    18.3718560 2224.3464134 NA   0.008  1.0000
control,single,24 - heat,single,24                18.3718560 2224.3464134 NA   0.008  1.0000
control,competition,24 - heat,competition,24      18.3718560 2224.3464134 NA   0.008  1.0000

我尝试探索数据框以消除 p 值相同的原因。将因子数减少为两个并使用不同的响应 variable/error 分布时,问题仍然很明显。

任何解决 lsmean/similar 包问题的帮助将不胜感激。作为次要选项,任何关于是否可以接受 poisson/binomial glm()s 然后使用 t-test/mann-whitneys

进行 post-hoc 测试的建议

你会注意到 P 值都相同,而显然没有注意到估计差异和标准误差都相同,这似乎很奇怪。大多数人首先看那些。 (如果你没有,我强烈推荐它,我们应该谈谈效果等等,P值只是附属品。)

无论如何,解释是你拟合了一个加法模型——一个没有相互作用的模型。这样的模型指定一个因素的影响完全相同,而不管任何其他因素的水平如何。这正是您所看到的。

简而言之,这与lsmeans()无关,与您安装的型号有关。