R-假设检验
假设检验(hypothesis testing),又称统计假设检验,是用来判断样本与样本、样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法。显著性检验是假设检验中最常用的一种方法,也是一种最基本的统计推断形式,其基本原理是先对总体的特征做出某种假设,然后通过抽样研究的统计推理,对此假设应该被拒绝还是接受做出推断。常用的假设检验方法有Z检验、t检验、卡方检验、F检验等。
一、描述性统计分析
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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中提供了一些常用的分布的分布函数计算:
1 2 3 4 5 6 7 8 | 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图
- 通过观察样本的分布(即直方图)与密度估计曲线,可以初步判断数据的分布。
1 2 3 4 | hist (w, freq = FALSE ) #直方图 lines ( density (w), col = "blue" ) #画出概率密度曲线 x = 44:76 lines (x, dnorm (x, mean (w), sd (w)), col = "red" ) #画出估计概率密度曲线 |
- 直方图的制作适合于总体为连续型分布的场合,对一般的总体分布,若要估计总体累积分布函数F(x),可用经验累积分布函数做估计。
1 2 3 4 | 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上。
如果样本数据近似服从正态分布,则图上的点大致落在一条直线上,该直线的斜率为标准差,截距为均值。
1 2 | qqnorm (w, col = 'red' ) qqline (w, col = 'blue' ) #Q-Q直线 |
3. 五数总括及箱型图
五数概括法即用以下五个数概括一组数据:最小值、第一四分位数(Q1)、第二四分位数(Q2)、第三四分位数(Q3)、最大值。
我们将Q3-Q1的值叫做IQR(四分位距),到中位数的距离大于1.5个IQR的值称之为异常值。
1 2 3 4 5 6 7 8 | > 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分位数的位置 |
1 | boxplot (45:65) #从下往上五条线分别代表着最小值到最大值的五数总括 |
三、分布检验
几个重要的检验数据的分布的方法:
W检验: 正态性检验
KS检验: 吻合性检验
卡方检验: 吻合性检验、独立性检验
Fisher精确检验:独立性检验
1.正态性W检验方法(H0 : X服从正态分布)
利用Shapiro-Wilk W统计量作正态性检验
1 2 3 4 5 6 7 8 9 10 11 12 13 | > 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)|,即经验分布与假设的分布的距离。主要用于检验数据是否服从指定分布,主要用于连续型数据。
1 2 3 4 5 6 7 8 | > 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)2 / 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 |
1 2 3 4 5 6 | > 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。试检验观测值是否符合理论假设?
1 2 3 4 5 6 | > 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)
1 2 3 4 5 6 | > shapiro.test (x) #对数据进行正态性W检验 Shapiro-Wilk normality test data: x W = 0.86329, p-value = 0.0009853 #p值小于0.05,拒绝原假设,认为不服从正态分布 |
1 2 3 4 5 6 7 8 | > 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。
- 卡方检验第一种分组
123456789
> 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,拒绝原假设,认为不服从假设的分布
- 卡方检验第二种分组
123456789
> 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) |
1 2 3 4 5 6 7 8 | > 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 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | > 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 粒发芽。试检验种衣剂对种子发芽率有无影响?
1 2 3 4 5 6 7 8 9 10 11 12 | > 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例染色体异常,问该地区新生儿染色体异常是否低于一般水平?
1 2 3 4 5 6 7 8 9 10 11 12 | > 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 。设这两样本独立,新的操作能否提高得率?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | > 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时检验两品种的淀粉含量有无显著区别?
1 2 3 4 5 6 7 8 9 | > 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 |
1 2 3 4 5 6 7 8 9 | > 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个观察值 |
1 2 3 4 5 6 7 8 9 10 | > 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 |
残差正态性检验:
1 2 3 4 5 6 7 8 | > 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。
1 | bartlett.test (mouse$X, mouse$A) |
当使用数据集时,也通过formula调用函数:bartlett.test(formula, data, subset,na.action…)
1 2 3 4 5 6 | > 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)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | > 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 单向秩次方差分析法是检验多组独立样本是否来自同分布总体最常用、功效最强的非参数检验方法。
它所面对的观测值与作单因素方差分析的观测值相似,只是总体不服从正态分布,也不能近似地服从正态分布,绝大多数情形是无法确定总体的分布。
1 2 | 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 |
1 2 3 4 5 6 7 8 9 | >rice = data.frame ( x = c (21,24,27,20,20,18,19,15,22,25,27,22),<br> 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 |
1 2 3 4 5 6 7 8 9 | > 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秩和检验。
1 2 3 | 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 |
1 2 3 4 5 6 7 8 9 10 11 12 | > 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值很小,因此拒绝原假设,认为不同饲料的小鼠肝中的铁含量不同。
考察哪两组之间有差异:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | > 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 |
本文作者:Khru
本文链接:https://www.cnblogs.com/khrushchefox/p/16080653.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步