R-假設檢驗


假設檢驗(hypothesis testing),又稱統計假設檢驗,是用來判斷樣本與樣本、樣本與總體的差異是由抽樣誤差引起還是本質差別造成的統計推斷方法。顯著性檢驗是假設檢驗中最常用的一種方法,也是一種最基本的統計推斷形式,其基本原理是先對總體的特征做出某種假設,然后通過抽樣研究的統計推理,對此假設應該被拒絕還是接受做出推斷。常用的假設檢驗方法有Z檢驗、t檢驗、卡方檢驗、F檢驗等。

 

一、描述性統計分析

mean (x)   #均值

sort (x)   #從小到大排序

median (x)   #中位數

quantile (x)   #百分位數默認5個分位數

var (x), sd (x)   #方差與標准差

cv=sd/mean*100   #變異系數

as.numeric ( names ( table (x))[ table (x) ==  max ( table (x))])   #眾數

  

二、數據分布

1.分布函數

分布名稱 R中的名稱 分布名稱 R中的名稱
二項分布  binom 正態分布 norm
泊松分布 pois F分布 f
幾何分布 geom T分布 t
超幾何分布 hyper 卡方分布 chicq
負二項分布 ubinom 伽馬分布 gamma
均勻分布 unif 柯西分布 cauchy
指數分布 exp Logistic分布 logis

 

R中提供了一些常用的分布的分布函數計算:

dnorm (x, mean = 0, sd = 1, log =  FALSE )
#返回值是正態分布概率密度函數值,比如dnorm(z)表示:標准正態分布密度函數f(x)在x=z處的函數值。
pnorm (q, mean = 0, sd = 1, lower.tail =  TRUE , log.p =  FALSE )
#返回值是正態分布的分布函數值,比如pnorm(z)等價於 F(z) or P[X ≤ z]。
qnorm (p, mean = 0, sd = 1, lower.tail =  TRUE , log.p =  FALSE )
#返回值是給定概率p后的下分位點。
rnorm (n, mean = 0, sd = 1)
#返回值是n個正態分布隨機數構成的向量。

  

2.直方圖、經驗分布圖和Q-Q圖

  • 通過觀察樣本的分布(即直方圖)與密度估計曲線,可以初步判斷數據的分布。
hist (w, freq =  FALSE )        #直方圖
lines ( density (w), col =  "blue" )   #畫出概率密度曲線
x = 44:76
lines (x,  dnorm (x,  mean (w),  sd (w)), col =  "red" )   #畫出估計概率密度曲線

  

 

  • 直方圖的制作適合於總體為連續型分布的場合,對一般的總體分布,若要估計總體累積分布函數F(x),可用經驗累積分布函數做估計。
plot ( ecdf (w), verticals =  TRUE , do.p =  FALSE , col = 2)
#do.p=FALSE 表示不畫點處的記號。vertical=TRUE 表示畫豎線,默認不畫。設置col.01line可以改變y=0和1時水平線的顏色
x = 44:78
lines (x,  pnorm (x,  mean (w),  sd (w)), col = 3)   #畫出正態分布函數曲線

  

 

  • Q-Q圖將理論分布與樣本分布的分位數映射為x和y軸。如果兩個分布比較相似,那么圖上的點大致落在y=x直線上;如果這兩個分布線性相關,則點大致分布在一條直線上,但不一定在y=x上。

   如果樣本數據近似服從正態分布,則圖上的點大致落在一條直線上,該直線的斜率為標准差,截距為均值。

qqnorm (w, col =  'red' )
qqline (w, col =  'blue' )     #Q-Q直線

  

 

3. 五數總括及箱型圖

五數概括法即用以下五個數概括一組數據:最小值、第一四分位數(Q1)、第二四分位數(Q2)、第三四分位數(Q3)、最大值。

我們將Q3-Q1的值叫做IQR(四分位距),到中位數的距離大於1.5個IQR的值稱之為異常值。

 

>  fivenum (x = 1:100)
[1] 1.0 25.5 50.5 75.5 100.0
# fivenum()函數通過取算數平均值得出分位數的值
> quantile (x = 1:100)
    0%   25%   50%   75%   100%
[1] 1.00 25.75 50.50 75.25 100.00
# quantile()函數通過加權平均值得出分位數的值
# 兩個函數都是通過 y = p*(n-1)+1 來確認N分位數的位置

 

boxplot (45:65)   #從下往上五條線分別代表着最小值到最大值的五數總括

  

 

三、分布檢驗

幾個重要的檢驗數據的分布的方法:

W檢驗:             正態性檢驗

KS檢驗:            吻合性檢驗

卡方檢驗:          吻合性檢驗、獨立性檢驗

Fisher精確檢驗:獨立性檢驗

1.正態性W檢驗方法(H0 : X服從正態分布)

利用Shapiro-Wilk W統計量作正態性檢驗

>  shapiro.test ( rnorm (100))   #向量長度在3到5000之間

    Shapiro-Wilk normality test

data:   rnorm (100)
W = 0.99162, p-value = 0.7932   #不拒絕原假設

>  shapiro.test ( rexp (100, 2))   #對指數分布數據進行正態性檢驗

    Shapiro-Wilk normality test

data:   rexp (100, 2)
W = 0.82519, p-value = 1.591e-09   #拒絕原假設

  

2.Kolmogorov-Smirnov檢驗(H0 : X服從假設的分布)

 統計量D=sup|Fn(x)-F0(x)|,即經驗分布與假設的分布的距離。主要用於檢驗數據是否服從指定分布,主要用於連續型數據。

> X <-  c (420, 500, 920, 1380, 1510, 1650, 1760,2100, 2300, 2350)
>  ks.test (X,  "pexp" , 1/1500)

    One-sample Kolmogorov-Smirnov test

data:  X
D = 0.30148, p-value = 0.2654   #不拒絕原假設
alternative hypothesis: two-sided

  

3.擬合優度卡方檢驗(H0 : 觀測值符合假設比率)

卡方檢驗主要用於離散型數據分布的檢驗。

  • 先通過一定的理論分布對樣本的理論數進行推算,然后用實際觀測值與理論數相比較,從而得出實際觀測值與理論數之間是否吻合的結論。
  • χ2檢驗就是統計樣本的實際觀測值與理論推算值之間的偏離程度:χ2 = ∑ki=1 (Oi - Ei)/ Ei  # O:實際觀測值,E:理論推算值,χ2近似服從自由度為k-1的卡方分布。

注意:由於檢驗的對象(次數資料)是間斷性的,而χ2分布是連續型的,檢驗計算所得的χ2值只是近似地服從χ2分布,所以應用連續型的χ2分布的概率檢驗間斷性資料所得的χ2值就有一定的偏差。

任何一組的理論次數Ei都必須大於5,否則則需要合並理論組或增大樣本容量以滿足Ei > 5。

在df=1時,需進行連續性矯正,其矯正的χc2為:χc2 = ∑ki=1 (|Oi - Ei| - 0.5)2 / Ei

 

例一:鯉魚遺傳試驗F2觀測結果如下:

體色 青灰色 紅色 總數
F2觀測尾數 1503 99 1602
>  chisq.test ( c (1503,99), p =  c (3,1)/4, correct = T)   #correct = T說明用於連續修正

    Chi-squared test  for given probabilities

data:   c (1503, 99)
X-squared = 302.63, df = 1, p-value < 2.2e-16   #拒絕原假設

  

例二:大麥的雜交后代關於芒性的比例應是無芒:長芒:短芒 = 9:3:4,實際觀測值為335:125:160。試檢驗觀測值是否符合理論假設?

>  chisq.test ( c (335,125,160), p =  c (9,3,4)/16)

    Chi-squared test  for given probabilities

data:   c (335, 125, 160)
X-squared = 1.362, df = 2, p-value = 0.5061   #不拒絕原假設

  注:通常ks檢驗適合於連續型數據,而卡方檢驗既能用於連續也能用於離散型數據;但ks檢驗不需將樣本分組,結果是唯一的,而卡方檢驗對連續型數據需要分組,結果不一致。

 

 例三:檢驗學生成績是否服從正態分布?

# x = c(25,45,50,54,55,61,64,68,72,75,75,78,79,81,83,84,84,84,85,86,86,86,87,89,89,89,90,91,91,92,100)

>  shapiro.test (x)   #對數據進行正態性W檢驗

    Shapiro-Wilk normality test

data:  x
W = 0.86329, p-value = 0.0009853   #p值小於0.05,拒絕原假設,認為不服從正態分布

  

>  ks.test (x, "pnorm" , 85, 15)   #對數據進行KS檢驗,假設x服從均值為85,標准差為15的正態分布

    One-sample Kolmogorov-Smirnov test

data:  x
D = 0.28811, p-value = 0.01164   #p值小於0.05,拒絕原假設,認為不服從假設的分布
alternative hypothesis: two-sided
#注:KS測試用於連續分布,因此數據不應包含ties(重復值)。

  

若需用卡方檢驗chisq.test,需先對數據進行分組,分組要注意每組的頻數不能小於5。

  • 卡方檢驗第一種分組
    > A =  table ( cut (x, breaks =  c (0,70,80,90,100)))   #對數據進行分組,breaks區間左閉右開
    > f =  pnorm ( c (70,80,90,100),  mean (x),  sd (x))
    > p =  c (f[1], f[2]-f[1], f[3]-f[2], 1-f[3])     #構造理論分布
    >  chisq.test (A,p = p)
    
        Chi-squared test  for given probabilities
    
    data:  A
    X-squared = 11.141, df = 3, p-value = 0.01099     #p值小於0.05,拒絕原假設,認為不服從假設的分布
  • 卡方檢驗第二種分組
    > B =  table ( cut (x, breaks= c (0,80,90,100)))
    > f =  pnorm ( c (80,90,100),  mean (x),  sd (x))
    > p =  c (f[1], f[2]-f[1], 1-f[2])
    >  chisq.test (B, p = p)
    
        Chi-squared test  for given probabilities
    
    data:  B
    X-squared = 11.125, df = 2, p-value = 0.003839

      

4.獨立性檢驗(H0:因子之間相互獨立)

獨立性檢驗用於檢驗兩個(或多個)因子彼此之間是否相互影響。(列聯表問題)

檢驗步驟如下:

  假設H0 :事件A和事件B無關聯關系;

    HA :事件A和事件B有關聯關系。

  給出顯著水平α。

  依據H0,推算理論數,計算χ2值。

  確定自由度:df=(n-1)(m-1),進行推斷:χ2 < χ2α,P > α,接受H0

                    χ2 > χ2α,P < α,接受HA

例:判斷顯著性水平α=0.05時,給葯方式與給葯效果之間是否有關聯

給葯方式 有效 無效 總數
口服 58 40 98(n1)
注射 64 31 95(n2)
總數 122(m1) 71(m2) 193(T)

 

> x =  c (58,64,40,31)
> x =  matrix (x, nrow = 2)
>  chisq.test (x)

    Pearson 's Chi-squared test with Yates' continuity correction

data:  x
X-squared = 1.06, df = 1, p-value = 0.3032   #不拒絕原假設,認為給葯方式與給葯效果相互獨立,沒有關聯。

  

5.Fisher 精確的獨立檢驗(H0:因子之間相互獨立)

如果期望數小於5,則應用Fisher精確性檢驗。

例:研究節食是否與性別相關

組別 男性 女性 合計
預防注射組 1 9 10
對照組 11 3 14
合計 12 12 24
> x =  c (1,11,9,3)
> x =  matrix (x, nrow = 2)
>  fisher.test (x)

    Fisher's Exact Test  for Count Data

data:  x
p-value = 0.002759   #拒絕原假設,認為節食與性別有關聯關系
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
 0.0006438284 0.4258840381
sample estimates:
odds ratio 
0.03723312 

  

6.總體比例的檢驗

二項式分布檢驗:binom.test(k, n, p)。隨機變量k是在n次實驗中觀測到的成功的次數,p是假設成功的概率。

(H0:實際成功概率等於假設概率)

例一:有一批蔬菜種子的平均發芽率 p=0.85,現隨機抽取 500 粒用種衣劑進行浸種處理,結果有 445 粒發芽。試檢驗種衣劑對種子發芽率有無影響?

>  binom.test (445, 500, 0.85)

    Exact binomial test

data:  445 and 500
number of successes = 445, number of trials = 500, p-value = 0.01207   #p值小於0.05,拒絕原假設,認為種衣劑對種子發芽率有影響
alternative hypothesis: true probability of success is not equal to 0.85
95 percent confidence interval:
 0.8592342 0.9160509
sample estimates:
probability of success 
                  0.89 

  

例二:根據以往經驗,新生兒染色體異常率一般為1%,某醫院觀察了當地400名新生兒,只有1例染色體異常,問該地區新生兒染色體異常是否低於一般水平?

>  binom.test (1, 400, 0.01, alternative =  "less" )   #原假設:染色體異常概率大於等於1%,不低於一般水平;備擇假設:染色體異常概率低於1%

    Exact binomial test

data:  1 and 400
number of successes = 1, number of trials = 400, p-value = 0.09048   #p值大於0.05,不拒絕原假設,認為概率不低於一般水平
alternative hypothesis: true probability of success is less than 0.01
95 percent confidence interval:
 0.0000000 0.0118043
sample estimates:
probability of success 
                0.0025 

  

四、參數檢驗與非參數檢驗

 

目的 參數檢驗 非參數檢驗
兩個均值的比較  Student's T test Wilcoxon's U test 
兩個以上均值比較  Anova(analysis of variance)  Kruskal-Wallis test
兩個方差的比較  Fisher’s F test Ansari-Bradley or Mood test 
多方差的比較  Bartlett or Levene test Fligner  test

 兩樣本均值的假設檢驗:

 (1)學生氏t檢驗

t檢驗的前提: 隨機樣本;來自正態分布總體;均數比較時,要求兩樣本總體方差相等,即具有方差齊性

例:在平爐上進行一項實驗以確定改變操作方法的建議是否會增加鋼的得率,試驗是在同一個平爐上進行的。每煉一爐鋼時除操作方法外,其他條件都盡可能相同。先用標准方法煉一爐,然后用新方法煉一爐,以后交替進行,各煉了10爐,其得率分別為標法 78.1 72.4 76.2 74.3 77.4 78.4 76.0 75.5 76.7 77.3,新法 79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1 。設這兩樣本獨立,新的操作能否提高得率?

> X =  c (78.1, 72.4, 76.2, 74.3, 77.4, 78.4, 76.0, 75.5, 76.7, 77.3)
> Y =  c (79.1, 81.0, 77.3, 79.1, 80.0, 79.1, 79.1, 77.3, 80.2, 82.1)
>  shapiro.test (X);  shapiro.test (Y)   # 正態性檢驗

    Shapiro-Wilk normality test

data:  X
W = 0.93149, p-value = 0.4627   #X服從正態分布


    Shapiro-Wilk normality test

data:  Y
W = 0.93098, p-value = 0.4576   #Y服從正態分布

>  var.test (X, Y)   # 方差齊性檢驗

    F test to compare two variances

data:  X and Y
F = 1.4945, num df = 9, denom df = 9, p-value = 0.559
#p值大於0.05,認為X和Y方差相等

alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.3712079 6.0167710
sample estimates:
ratio of variances 
          1.494481 

>  t.test (X, Y, alternative =  "less" , var.equal = T)  #進行方差相等的雙樣本t檢驗

    Two Sample t-test

data:  X and Y
t = -4.2957, df = 18, p-value = 0.0002176   #拒絕原假設,認為X

  結果表明新方法確實提高了鋼的得率。

 

 (2)Wilcoxon(Mann-Whitney)檢驗(秩和檢驗法)

若數據不服從正態分布,分布函數未知,則使用非參數方法,檢驗這兩個總體的分布是否有顯著的差異。

 例:測定兩個馬鈴薯品種的淀粉含量(%)各5次,品種A和B觀察值如下: A: 12.6, 12.4, 11.9, 12.7, 13.0;  B: 13.4, 13.1, 13.5, 12.7, 13.6。 在顯著性水平為α=0.01時檢驗兩品種的淀粉含量有無顯著區別?

> x =  c (12.6, 12.4, 11.9, 12.7, 13.0)   #輸入數據
> y =  c (13.4, 13.1, 13.5, 12.7, 13.6)
>  wilcox.test (x, y, alternative =  "two.sided" )   #進行檢驗

    Wilcoxon rank sum test with continuity correction

data:  x and y
W = 1.5, p-value = 0.0278   #p值大於0.01,不拒絕原假設,認為沒有顯著差異。
alternative hypothesis: true location shift is not equal to 0

  

 (3)配對數據的Wilcoxon檢驗

符號檢驗只考慮了每對數據的差的符號,秩和檢驗只注意了數據的大小,如果將兩者結合起來,便有了符號秩和檢驗法(Sign rank)。但是,與符號檢驗相比,符號秩和檢驗要求差數來自對稱分布的總體

 

例:用大白鼠作不同飼料喂養所增體重的比較試驗,先將大白鼠按性別、月齡、體重等配為10對,再把每對中的兩只大白鼠隨機分配到高蛋白組與低蛋白組,喂養8周得到增重(單位:g)的觀測值如下,試檢驗α=0.01時高蛋白組是否比低蛋白組大白鼠增重更多?

對照 1 2 3 4 5 6 7 8 9 10
高蛋白組增重xi 135 120 131 130 139 138 136 137 134 130
低蛋白組增重yi 124 124 131 118 132 132 136 127 127 117
xi-yi 11 -4 0 12 7 6 0 10 7 13
xi-yi的符號秩 +6 -1   +7 +3.5 +2   +5 +3.5 +8

 

> x =  c (135, 120, 131, 130, 139, 138, 136, 137, 134, 130)
> y =  c (124, 124, 131, 118, 132, 132, 136, 127, 127, 117)
>  wilcox.test (x-y, alternative =  "greater" )   #備擇假設:高蛋白組比低蛋白組大白鼠增重更多

    Wilcoxon signed rank test with continuity correction

data:  x - y
V = 35, p-value = 0.01035   #p值大於0.01,不拒絕原假設,認為高蛋白組並不比低蛋白組大白鼠增重更多。
alternative hypothesis: true location is greater than 0

  

 五、方差分析

用於兩個及兩個以上樣本均數差別的顯著性檢驗。

H0:μ1 = μ2 =…= μk

方差分析的條件:各組樣本獨立,各組樣本來自正態分布(殘差服從正態分布),各組樣本滿足方差齊性

若正態性不能滿足,可用非參數的 Kurskal-Wallis檢驗;

對於方差不滿足齊性要求或者不知方差是否齊性時,可用 oneway.test()做方差分析。

1.單因素方差(ANOVA)分析

 例:小白鼠在接種了3種不同菌型的傷寒桿菌后的存活天數如下表。判斷小白鼠被注射三種菌型后的平均存活天數有無顯著差異?

菌型 存活天數
1 2 4 3 2 4 6 6 2 2 5 4         #11個觀察值
2 5 6 8 5 10 7 12 12 6 6       #10個觀察值
3 7 11 6 6 7 9 5 5 10 6 3 10  #12個觀察值
> mouse =  data.frame (X =  c (2,4,3,2,4,6,6,2,2,5,4,5,6,8,5,10,7,12, 
+                          12,6,6,7,11,6,6,7,9,5,5,10,6,3,10), 
+                    A =  factor ( c ( rep (1,11), rep (2,10),  rep (3,12))))
> mouse.aov =  aov (X ~ A, data = mouse)  #建立模型
>  summary (mouse.aov)  # 提取結果
            Df Sum Sq Mean Sq F value    Pr (>F)    
A            2  104.0   51.98   10.02 0.000464 ***   #p值小於0.01,認為有顯著差異。
Residuals   30  155.6    5.19                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

  

殘差正態性檢驗:

>  qqnorm (mouse.aov$residuals)
>  qqline (mouse.aov$residuals)
>  shapiro.test (mouse.aov$residuals)

    Shapiro-Wilk normality test

data:  mouse.aov$residuals
W = 0.93847, p-value = 0.06131   #不拒絕原假設,認為殘差服從正態分布

  

方差齊性檢驗:

對於多個水平的檢驗,常用Bartlett檢驗:bartlett.test(x, g, ...)  (H0: 多組數據的方差一致)

其中,參數x是數據向量或列表(list);g是因子向量,如果X是列表則忽略g。

bartlett.test (mouse$X, mouse$A)

 

當使用數據集時,也通過formula調用函數:bartlett.test(formula, data, subset,na.action…)

>  bartlett.test (X~A, data = mouse)

    Bartlett test of homogeneity of variances

data:  X by A
Bartlett's K-squared = 2.7979, df = 2, p-value = 0.2469

    p值等於0.25,說明三個總體的方差一致;由此說明上述能直接進行方差分析。

 

2.oneway.test(方差不相同時)

用法:oneway.test(formula,  data,  subset,  na.action,  var.equal = FALSE)

>  oneway.test (X~A, data = mouse)   #默認方差不同

    One-way analysis of  means  (not assuming equal variances)

data:  X and A
F = 12.871, num df = 2.000, denom df = 18.439, p-value = 0.0003171

>  oneway.test (X~A, data = mouse, var.equal = T)

    One-way analysis of means

data:  X and A
F = 10.024, num df = 2, denom df = 30, p-value = 0.0004636

>  summary (mouse.aov)
            Df Sum Sq Mean Sq F value    Pr (>F)    
A            2  104.0   51.98   10.02 0.000464 ***
Residuals   30  155.6    5.19                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

  

3.Kruskal-Wallis秩和檢驗

Kruskal-Wallis 單向秩次方差分析法是檢驗多組獨立樣本是否來自同分布總體最常用、功效最強的非參數檢驗方法。

它所面對的觀測值與作單因素方差分析的觀測值相似,只是總體不服從正態分布,也不能近似地服從正態分布,絕大多數情形是無法確定總體的分布。

 

kruskal.test (x, g, ...) 
kruskal.test (formula, data, subset, na.action, ...)

  

例1:用3種不同的葯劑處理水稻種子,發芽后觀測到苗高 (單位:cm)的觀測值如下,試作單向秩次方差分析(α=0.05)。

葯劑 苗高
1 21,24,27,20
2 20,18,19,15
3 22,25,27,22
>rice =  data.frame (
      x = c(21,24,27,20,20,18,19,15,22,25,27,22),
y = factor(rep(1:3, c(4,4,4)))) > #輸入數據,建立一個4x3的數據框 > kruskal.test (x~y, data = rice) Kruskal-Wallis rank sum test data:  x by y Kruskal-Wallis chi-squared = 7.2977, df = 2, p-value = 0.02602

  用3種不同的葯劑處理水稻種子、發芽后苗高的觀測值有顯著的差異。

 

例2:為了比較屬同一類的四種不同食譜的營養效果,將25只老鼠隨機地分為4組,每組分別是8只,4只,7只和6只,各采用食譜甲、乙、丙和丁喂養。假設其他條件均保持相同,12周后測得體重增加量如下,對α=0.05,檢驗各食譜的營養效果是否有顯著差異。

食譜 增重
164 190 203 205 206 214 228 257
185 197 201 231
187 212 215 220 248 265 281
202 204 207 227 230 276

 

> food = data.frame(
+   x = c(164,190,203,205,206,214,228,257,185,197,201,231,187,212,215,220,248,265,281,202,204,207,227,230,276),
+   g = factor(rep(1:4, c(8,4,7,6))))
> kruskal.test(x~g, data = food)

	Kruskal-Wallis rank sum test

data:  x by g
Kruskal-Wallis chi-squared = 4.213, df = 3, p-value = 0.2394

  結果表明:各個營養食譜效果無顯著差異。

 

4.Friedman秩和檢驗

在配伍組設計中,多個樣本的比較,若他們的總體不能滿足正態性和方差齊性的要求,可采用Friedman秩和檢驗。

 

friedman.test(y, ...) 
friedman.test(y, groups, blocks, ...) 
friedman.test(formula, data, subset, na.action, ...)

  注:其中y為向量或者為矩陣,groups是與y有同樣長度的向量,表示y的分組情況;blocks與y有相同長度的向量,表示y的水平;若y為矩陣,groups與blocks無效.

 

例1:24只小鼠按不同窩別分為8個區組,再把每個區組中的觀察單位隨機分配到3種不同的飼料組,喂養一定時間后,測得小鼠肝中鐵含量,結果如下,試分析不同飼料的小鼠肝中的鐵含量是否相同?

窩別 1 2 3 4 5 6 7 8
飼料a 1.00 1.01 1.13 1.14 1.70 2.01 2.23 2.63
飼料b 0.96 1.23 1.54 1.96 2.94 3.68 5.59 6.69
飼料c 2.07 3.72 4.50 4.90 6.00 6.84 8.23 10.33
> X = matrix(
+   c(1.00,1.01,1.13,1.14,1.70,2.01,2.23,2.63,
+     0.96,1.23,1.54,1.96,2.94,3.68,5.59,6.96,
+     2.07,3.72,4.50,4.90,6.00,6.84,8.23,10.33),
+   ncol = 3,
+   dimnames = list(1:8, c("A", "B", "C")))
> friedman.test(X)

	Friedman rank sum test

data:  X
Friedman chi-squared = 14.25, df = 2, p-value = 0.0008047

  結果表明:p值很小,因此拒絕原假設,認為不同飼料的小鼠肝中的鐵含量不同。

考察哪兩組之間有差異:

> x = c(1.00,1.01,1.13,1.14,1.70,2.01,2.23,2.63,
+      0.96,1.23,1.54,1.96,2.94,3.68,5.59,6.96,
+      2.07,3.72,4.50,4.90,6.00,6.84,8.23,10.33)
> g = gl(3, 8) #生成factor
> plot(x~g, col = rainbow(3))
> pairwise.t.test(x, g, p.adjust.method = "none")

	Pairwise comparisons using t tests with pooled SD 

data:  x and g 

  1       2      
2 0.14893 -      
3 0.00039 0.01309

P value adjustment method: none 

  

 

5.雙因素方差分析

因素A作用: H01: α1=···=αa=0

因素B作用: H10: β1=···=βa=0

因素A與B交互作用: H11:(αβ)ij=0

(1)不考慮交互作用

例1:在一個農業試驗中,考慮四種不同的種 A1,A2,A3,A4和三種不同的施肥方法B1,B2,B3得到的產量如下表,試分析種子與施肥對產量有無顯著影響( 顯著水平0.05 )。

  B1 B2 B3
A1 325 292 316
A2 317 310 318
A3 310 320 318
A4 330 370 365


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM