R语言多重比较方法
原文链接:http://tecdat.cn/?p=9578
目录
测试方法
画图
具有五个p值的多重比较示例
画图
测试方法
R具有内置的方法来调整一系列p值,以控制按族分类的错误率或控制错误发现率。
Holm,Hochberg,Hommel和Bonferroni的方法控制着家庭错误率。这些方法试图限制甚至一个错误发现的可能性(I型错误,在没有实际效果时错误地拒绝零假设),因此它们都相对较强(保守)。
BH(Benjamini–Hochberg,与R中的FDR相同)和BY方法控制错误发现率。这些方法试图控制错误发现的预期比例。
请注意,这些方法仅需要调整p值和要比较的p值数量。这与Tukey或Dunnett之类的方法不同,后者也需要基础数据的可变性。Tukey和Dunnett被认为是家庭错误率方法。
没有关于使用哪个p值调整量度的明确建议。通常, 应该选择一种听众或您的研究领域熟悉的方法。此外,可能存在一些逻辑,使您可以选择如何平衡发生II型错误和I型错误的可能性。例如,在初步研究中,您可能希望保留尽可能多的重要值,以免在将来的研究中排除潜在的重要因素。另一方面,在一项医学研究中,人们的生命处于危险之中,正在考虑使用非常昂贵的治疗方法,因此在断定一种治疗方法优于另一种治疗方法之前,您需要具有很高的确定性。
Data = read.table(textConnection(Input),header=TRUE)headtail(Data)Food Raw.p20 Total_calories 0.00112 Olive_oil 0.00825 Whole_milk 0.03917 Semi-skimmed_milk 0.94221 Total_meat 0.97514 Processed_meat 0.986### Perform p-value adjustments and add to data frameDataFood Raw.p Bonferroni BH Holm Hochberg Hommel BY20 Total_calories 0.001 0.025 0.0250000 0.025 0.025 0.025 0.0953989512 Olive_oil 0.008 0.200 0.1000000 0.192 0.192 0.192 0.3815958225 Whole_milk 0.039 0.975 0.2100000 0.897 0.882 0.682 0.8013512224 White_meat 0.041 1.000 0.2100000 0.902 0.882 0.697 0.8013512215 Proteins 0.042 1.000 0.2100000 0.902 0.882 0.714 0.8013512211 Nuts 0.060 1.000 0.2500000 1.000 0.986 0.840 0.953989545 Cereals_and_pasta 0.074 1.000 0.2642857 1.000 0.986 0.962 1.0000000023 White_fish 0.205 1.000 0.4910714 1.000 0.986 0.986 1.000000003 Butter 0.212 1.000 0.4910714 1.000 0.986 0.986 1.0000000022 Vegetables 0.216 1.000 0.4910714 1.000 0.986 0.986 1.0000000018 Skimmed_milk 0.222 1.000 0.4910714 1.000 0.986 0.986 1.0000000016 Red_meat 0.251 1.000 0.4910714 1.000 0.986 0.986 1.000000009 Fruit 0.269 1.000 0.4910714 1.000 0.986 0.986 1.000000007 Eggs 0.275 1.000 0.4910714 1.000 0.986 0.986 1.000000001 Blue_fish 0.340 1.000 0.5328125 1.000 0.986 0.986 1.0000000010 Legumes 0.341 1.000 0.5328125 1.000 0.986 0.986 1.000000004 Carbohydrates 0.384 1.000 0.5647059 1.000 0.986 0.986 1.0000000013 Potatoes 0.569 1.000 0.7815789 1.000 0.986 0.986 1.000000002 Bread 0.594 1.000 0.7815789 1.000 0.986 0.986 1.000000008 Fats 0.696 1.000 0.8700000 1.000 0.986 0.986 1.0000000019 Sweets 0.762 1.000 0.9071429 1.000 0.986 0.986 1.000000006 Dairy_products 0.940 1.000 0.9860000 1.000 0.986 0.986 1.0000000017 Semi-skimmed_milk 0.942 1.000 0.9860000 1.000 0.986 0.986 1.0000000021 Total_meat 0.975 1.000 0.9860000 1.000 0.986 0.986 1.0000000014 Processed_meat 0.986 1.000 0.9860000 1.000 0.986 0.986 1.00000000
画图

一系列25个p值的调整p值与原始p值的关系图。虚线表示一对一的线。
具有五个p值的多重比较示例
### --------------------------------------------------------------### Multiple comparisons example, hypothetical example### --------------------------------------------------------------Data = read.table(textConnection(Input),header=TRUE)Factor Raw.p Bonferroni BH Holm Hochberg Hommel BY1 A 0.001 0.005 0.00500 0.005 0.005 0.005 0.011422 B 0.010 0.050 0.02500 0.040 0.040 0.040 0.057083 C 0.025 0.125 0.04167 0.075 0.075 0.075 0.095144 D 0.050 0.250 0.06250 0.100 0.100 0.100 0.142705 E 0.100 0.500 0.10000 0.100 0.100 0.100 0.22830
画图

0至0.1之间的五个p值系列的调整p值与原始p值的关系图。请注意,Holm和Hochberg与Hommel具有相同的值,因此被Hommel隐藏。虚线表示一对一的线。

