在控制另外两个因素时,Lsmeans产生相同的p值

时间:2017-10-10 23:29:03

标签: r lme4 lsmeans posthoc pairwise

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

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

数据

响应:此处1/0存在/不存在。 (但也有平均像素强度和cbind precentage覆盖率)

固定因子1:热处理 - 2级

固定因子2:竞争治疗 - 2个级别

固定因子3:时间治疗 - 2级

随机因素:无

模型创建

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 yeilds类似的结果)

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值的原因。通过将因子数减少到两个并使用不同的响应变量/错误分布,问题仍然很明显。

任何有关解决lsmean /类似包问题的帮助都将不胜感激。作为次要选项任何关于是否可以接受做泊松/二项式glm()的建议,然后使用t-test / mann-whitneys跟进事后测试

1 个答案:

答案 0 :(得分:0)

您会注意到P值完全相同并且显然没有注意到估计的差异和标准误差都是相同的,这似乎很奇怪。大多数人首先看这些。 (如果你没有,我会高度推荐;我们应该谈论效果等,P值只是配件。)

无论如何,解释是您安装了添加模型 - 没有交互的模型。这样的模型规定,无论任何其他因素的水平如何,一个因素的影响都是完全相同的。而这正是你所看到的。

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