2017-04-05 44 views
0

我想做一個Mann-Whitney U檢驗,比較第2,3,4列與第5,6和7列,並獲得每一行的p值以評估重要性。p值的Mann-Whitney U檢驗

type Sp1 Sp2 Sp3 Sp4 Sp5 Sp6  
    GH1 4 4 4 2 2 0 
    GH2 7 7 7 4 8 4 
    GH3 13 17 16 10 16 10 
    GH5 9 10 10 11 10 6 
    GH6 0 0 0 0 0 0 
    GH7 1 1 1 1 1 0 
    GH9 0 0 1 0 1 0 
    GH10 3 1 1 0 2 0 
    GH11 1 1 0 2 1 1 
    GH12 3 1 2 3 1 2 
    GH13 11 13 12 12 13 12 
    GH15 2 1 2 2 1 3 
    GH16 17 16 16 14 11 13 
    GH17 7 7 7 8 6 7 
    GH18 7 9 9 9 9 5 
    GH20 2 2 2 2 1 2 
    GH22 0 0 0 0 0 0 
    GH23 2 1 2 1 0 3 
    GH24 0 0 0 1 0 0 
    GH25 1 1 1 1 0 0 
    GH26 0 0 0 0 0 0 

我確實看到了一些教程比較兩組值

wilcox.test(a,b, correct=FALSE) 

,但我不知道該怎麼做了兩組,並得到p值的每一行,讓我知道,如果任何類型在兩個組中都是重要的。最後,它會像

type Sp1 Sp2 Sp3 Sp4 Sp5 Sp6 p-value 
    GH1 4 4 4 2 2 0 0.4 
    GH2 7 7 7 4 8 4 0.2 
    GH3 13 17 16 10 16 10 0.01 
    GH5 9 10 10 11 10 6 0.6 

回答

2
df$p_values <- apply(df, 1, function(x) { 
    wilcox.test(as.numeric(x[2:4]), as.numeric(x[5:7]))$p.value 
}) 

    type Sp1 Sp2 Sp3 Sp4 Sp5 Sp6 p_values 
1 GH1 4 4 4 2 2 0 0.05934644 
2 GH2 7 7 7 4 8 4 0.63735189 
3 GH3 13 17 16 10 16 10 0.26115456 
4 GH5 9 10 10 11 10 6 1.00000000 
5 GH6 0 0 0 0 0 0  NaN 
6 GH7 1 1 1 1 1 0 0.50498508 
7 GH9 0 0 1 0 1 0 1.00000000 
8 GH10 3 1 1 0 2 0 0.36868827 
9 GH11 1 1 0 2 1 1 0.30169958 
10 GH12 3 1 2 3 1 2 1.00000000 
11 GH13 11 13 12 12 13 12 0.81366372 
12 GH15 2 1 2 2 1 3 0.81366372 
13 GH16 17 16 16 14 11 13 0.07652250 
14 GH17 7 7 7 8 6 7 1.00000000 
15 GH18 7 9 9 9 9 5 1.00000000 
16 GH20 2 2 2 2 1 2 0.50498508 
17 GH22 0 0 0 0 0 0  NaN 
18 GH23 2 1 2 1 0 3 0.82218677 
19 GH24 0 0 0 1 0 0 0.50498508 
20 GH25 1 1 1 1 0 0 0.18763233 
21 GH26 0 0 0 0 0 0  NaN 
+0

忘記一個參數(1作爲第二個參數)再次檢查。 – thc

+0

好吧我只是試了一下,我忘了在循環中提取p.value。我添加了輸出。 – thc