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.p

20    Total_calories 0.001

12         Olive_oil 0.008

25        Whole_milk 0.039

17 Semi-skimmed_milk 0.942

21        Total_meat 0.975

14    Processed_meat 0.986





### Perform p-value adjustments and add to data frame


Data



                Food Raw.p Bonferroni        BH  Holm Hochberg Hommel         BY

20    Total_calories 0.001      0.025 0.0250000 0.025    0.025  0.025 0.09539895

12         Olive_oil 0.008      0.200 0.1000000 0.192    0.192  0.192 0.38159582

25        Whole_milk 0.039      0.975 0.2100000 0.897    0.882  0.682 0.80135122

24        White_meat 0.041      1.000 0.2100000 0.902    0.882  0.697 0.80135122

15          Proteins 0.042      1.000 0.2100000 0.902    0.882  0.714 0.80135122

11              Nuts 0.060      1.000 0.2500000 1.000    0.986  0.840 0.95398954

5  Cereals_and_pasta 0.074      1.000 0.2642857 1.000    0.986  0.962 1.00000000

23        White_fish 0.205      1.000 0.4910714 1.000    0.986  0.986 1.00000000

3             Butter 0.212      1.000 0.4910714 1.000    0.986  0.986 1.00000000

22        Vegetables 0.216      1.000 0.4910714 1.000    0.986  0.986 1.00000000

18      Skimmed_milk 0.222      1.000 0.4910714 1.000    0.986  0.986 1.00000000

16          Red_meat 0.251      1.000 0.4910714 1.000    0.986  0.986 1.00000000

9              Fruit 0.269      1.000 0.4910714 1.000    0.986  0.986 1.00000000

7               Eggs 0.275      1.000 0.4910714 1.000    0.986  0.986 1.00000000

1          Blue_fish 0.340      1.000 0.5328125 1.000    0.986  0.986 1.00000000

10           Legumes 0.341      1.000 0.5328125 1.000    0.986  0.986 1.00000000

4      Carbohydrates 0.384      1.000 0.5647059 1.000    0.986  0.986 1.00000000

13          Potatoes 0.569      1.000 0.7815789 1.000    0.986  0.986 1.00000000

2              Bread 0.594      1.000 0.7815789 1.000    0.986  0.986 1.00000000

8               Fats 0.696      1.000 0.8700000 1.000    0.986  0.986 1.00000000

19            Sweets 0.762      1.000 0.9071429 1.000    0.986  0.986 1.00000000

6     Dairy_products 0.940      1.000 0.9860000 1.000    0.986  0.986 1.00000000

17 Semi-skimmed_milk 0.942      1.000 0.9860000 1.000    0.986  0.986 1.00000000

21        Total_meat 0.975      1.000 0.9860000 1.000    0.986  0.986 1.00000000

14    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      BY

1      A 0.001      0.005 0.00500 0.005    0.005  0.005 0.01142

2      B 0.010      0.050 0.02500 0.040    0.040  0.040 0.05708

3      C 0.025      0.125 0.04167 0.075    0.075  0.075 0.09514

4      D 0.050      0.250 0.06250 0.100    0.100  0.100 0.14270

5      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隐藏。虚线表示一对一的线。

如果您有任何疑问,请在下面发表评论。 

原文地址:https://www.cnblogs.com/tecdat/p/12056516.html