我如何使用lsmeans在R中为多重比较编程校正,而不进行超出必要范围的校正
我想知道是否有一种方法可以使用lsmeans对多重比较进行校正,这样我就可以只对一定数量的比较进行校正?我已经找到了,但我认为这不能满足我的需要 基本上,解释我的数据的最佳模型是一个完整的模型,因此我研究了三个因素(年份、河流和性别)之间的相互作用(有四条河流和四个不同的年份)。我可以做以下工作(TL是总长度,是一个响应变量) TL_interact=lm(TL~YearRiverSex,data=Walleye\u alldata\u nu) 其次是lsmeans turtle=lsmeans(possum,specs=pairwise~PeriodRiverSex,adjust=“FDR”) 但这修正了496个比较。我感兴趣的实际比较数量是56。这些可以通过使用稍微修改的代码来实现我如何使用lsmeans在R中为多重比较编程校正,而不进行超出必要范围的校正,r,statistics,R,Statistics,我想知道是否有一种方法可以使用lsmeans对多重比较进行校正,这样我就可以只对一定数量的比较进行校正?我已经找到了,但我认为这不能满足我的需要 基本上,解释我的数据的最佳模型是一个完整的模型,因此我研究了三个因素(年份、河流和性别)之间的相互作用(有四条河流和四个不同的年份)。我可以做以下工作(TL是总长度,是一个响应变量) TL_interact=lm(TL~YearRiverSex,data=Walleye\u alldata\u nu) 其次是lsmeans turtle=lsmeans
TL_lsmeans1of2 = lsmeans(TL_interact, specs = pairwise~Year|Sex*River, adjust = "FDR")
然后使用summary,以便可以将此数据作为数据帧进行操作
TL_lsmeans1 of 2_df=汇总(TL_lsmeans1 of 2$对比)
此示例的输出示例如下所示
Sex = F, River = Chalifour:
contrast estimate SE df t.ratio p.value
Y2002/03 - Y2015 74.1746032 18.994645 1497 3.905 0.0006
Y2002/03 - Y2016 33.4750958 16.963837 1497 1.973 0.0730
Y2002/03 - Y2017 45.7222222 19.604254 1497 2.332 0.0396
Y2015 - Y2016 -40.6995074 14.468508 1497 -2.813 0.0149
Y2015 - Y2017 -28.4523810 17.489789 1497 -1.627 0.1248
Y2016 - Y2017 12.2471264 15.260011 1497 0.803 0.4224
Sex = M, River = Chalifour:
contrast estimate SE df t.ratio p.value
Y2002/03 - Y2015 49.4788034 6.054656 1497 8.172 <.0001
Y2002/03 - Y2016 36.4539394 5.893992 1497 6.185 <.0001
Y2002/03 - Y2017 55.7266667 6.352504 1497 8.772 <.0001
Y2015 - Y2016 -13.0248640 5.645109 1497 -2.307 0.0254
Y2015 - Y2017 6.2478632 6.122289 1497 1.021 0.3077
Y2016 - Y2017 19.2727273 5.963447 1497 3.232 0.0019
任何关于如何通过对56次比较进行适当修正来获得新的p值的想法都将不胜感激。而且,如果您认为我以不同的方式编写对比度更好(我在这篇文章中看到了使用0和1[,我也很乐意接受关于如何实现这一点的任何建议)
谢谢,,
Ella Bowles从严格的编程角度来看,您可以计算所有496对比度而无需进行校正,然后将结果子集,只选择您感兴趣的结果,最后使用
p.adjust
函数在基R中使用FDR校正p值
无论如何,从统计学的角度来看,如果你在方差分析框架内,你应该考虑事后测试的合法性——仅仅是对比度的一个子集——构成了你的重要互动。p.adjust函数很容易实现,但我不知道如何使用它,尤其是指定56个比较。这只是一个例子n问题,因为我的输出lsmeans结果(两个单独的表)无法与rbind正确结合,因此我必须指定总共有56个比较,否则更正将基于错误的比较次数。您知道我如何指定比较次数吗?就我个人而言,我不知道如何在
lsmeans
调用中指定可能的成对对比度的特定子集。总之是的,如果您没有找到解决方法,您可以取消参数adjust='none'
的校正设置,然后您可以轻松地获得lsmeans
输出的$contrasts
表,并将其放入这样的数据帧contrast\u
Sex = F, River = Chalifour:
contrast estimate SE df t.ratio p.value p.val.adjusted
Y2002/03 - Y2015 74.1746032 18.994645 1497 3.905 0.0006 0.999950797
Y2002/03 - Y2016 33.4750958 16.963837 1497 1.973 0.0730 0.975678658
Y2002/03 - Y2017 45.7222222 19.604254 1497 2.332 0.0396 0.990090497
Y2015 - Y2016 -40.6995074 14.468508 1497 -2.813 0.0149 0.002486354
Y2015 - Y2017 -28.4523810 17.489789 1497 -1.627 0.1248 0.051995069
Y2016 - Y2017 12.2471264 15.260011 1497 0.803 0.4224 0.788822739