R語言多重比較方法
原文鏈接:http://tecdat.cn/?p=9578
?
目錄
測試方法
畫圖
具有五個(gè)p值的多重比較示例
畫圖
測試方法
R具有內(nèi)置的方法來調(diào)整一系列p值,以控制按族分類的錯(cuò)誤率或控制錯(cuò)誤發(fā)現(xiàn)率。
Holm,Hochberg,Hommel和Bonferroni的方法控制著家庭錯(cuò)誤率。這些方法試圖限制甚至一個(gè)錯(cuò)誤發(fā)現(xiàn)的可能性(I型錯(cuò)誤,在沒有實(shí)際效果時(shí)錯(cuò)誤地拒絕零假設(shè)),因此它們都相對較強(qiáng)(保守)。?
BH(Benjamini–Hochberg,與R中的FDR相同)和BY方法控制錯(cuò)誤發(fā)現(xiàn)率。這些方法試圖控制錯(cuò)誤發(fā)現(xiàn)的預(yù)期比例。?
請注意,這些方法僅需要調(diào)整p值和要比較的p值數(shù)量。這與Tukey或Dunnett之類的方法不同,后者也需要基礎(chǔ)數(shù)據(jù)的可變性。Tukey和Dunnett被認(rèn)為是家庭錯(cuò)誤率方法。
沒有關(guān)于使用哪個(gè)p值調(diào)整量度的明確建議。通常, 應(yīng)該選擇一種聽眾或您的研究領(lǐng)域熟悉的方法。此外,可能存在一些邏輯,使您可以選擇如何平衡發(fā)生II型錯(cuò)誤和I型錯(cuò)誤的可能性。例如,在初步研究中,您可能希望保留盡可能多的重要值,以免在將來的研究中排除潛在的重要因素。另一方面,在一項(xiàng)醫(yī)學(xué)研究中,人們的生命處于危險(xiǎn)之中,正在考慮使用非常昂貴的治療方法,因此在斷定一種治療方法優(yōu)于另一種治療方法之前,您需要具有很高的確定性。
?
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個(gè)p值的調(diào)整p值與原始p值的關(guān)系圖。虛線表示一對一的線。
?
具有五個(gè)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之間的五個(gè)p值系列的調(diào)整p值與原始p值的關(guān)系圖。請注意,Holm和Hochberg與Hommel具有相同的值,因此被Hommel隱藏。虛線表示一對一的線。