单因素方差分析,
group为不同的处理方法,分别为模型组,阳性药组,I号药,II号药,area为创面面积。group
模型阳性
III
模型阳性
III
模型阳性
III
模型阳性
III
模型阳性
III
模型阳性
III
模型阳性
III
模型阳性
III
模型阳性
III
area1.4380.6221.2480.90.7970.81.2450.9480.6171.3311.7261.291.0741.4181.5790.471.671.5612.2361.1481.8650.3881.8161.621.2281.7141.5510.8781.8652.3152.2251.6880.7931.8361.5921.122
0. 读取数据data<-read.table(\"clipboard\
0.1 用str来查看一下数据结构str(data)
'data.frame': 36 obs. of 2 variables:
$ group: Factor w/ 4 levels \"I\模型\ $ area : num 1.438 0.622 1.248 0.9 0.797 ...可以发现,group一列为因子因素数据
2. 数据描述
2.1 用aggregate统计均值与标准差
> data.mean <- aggregate(data$area, by=list(data$group), FUN=mean)> data.mean Group.1 x1 I 1.69082 II 1.1181113 模型 1.2607784 阳性 1.314778
> data.sd <- aggregate(data$area, by=list(data$group), FUN=sd)> data.sd
Group.1 x1 I 0.35988562 II 0.381073 模型 0.47609814 阳性 0.09455
3. 数据的正态性检验3.1用shapiro.test()函数
> shapiro.test(data$area)
Shapiro-Wilk normality test
data: data$area
W = 0.975, p-value = 0.5756W越接近于1,则越接近正态,p大于0.05,
此处的函数使用的是W检验法,这是1965年S.S.Shapiro与M.B.Wik提出用顺序统计量W来检验分布的正态性,本法常用于小样本资料的正态性检验。
3.2 bartlett.test()函数
bartlett.test(area~group,data=data)
Bartlett test of homogeneity of variances
data: area by group
Bartlett's K-squared = 3.305, df = 3, p-value = 0.3469
Bartlet检验是用于比较两个样本的方差是否齐性,Bartlet要求资料服从正态分布,因此用完W法之后,服从正态分布了,就接着可以使用Bartlet检验;另外用于方差齐性的检验方法还有Levene检验,此种检验方法不要求总体分布的具体形式,更为稳健。F检验只用于两样本方法齐性检验,Bartlett法检验与Levene检验既可以用于两样本方差,也可以用于多样本方差齐性检验。
3.3 QQ图
qqnorm(data$area) #散点图> qqline(data$area) #加线
4. 方差分析
4.1 判断组间是否有差别
result.aov<-aov(area~group,data=data);result.aov #
Call:
aov(formula = area ~ group, data = data)Terms:group Residuals
Sum of Squares 1.612073 7.297755Deg. of Freedom 3 32
Residual standard error: 0.4775509
Estimated effects may be unbalanced
> summary(result.aov) #下面为结果
Df Sum Sq Mean Sq F value Pr(>F)group 3 1.612 0.5374 2.356 0.0903 .Residuals 32 7.298 0.2281---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1.
结果解读:
Df为自由度,SumSq是对应的变异,group为组间变异,Residuals为组内变异,Mean Sq均文和,是用Sum Sq/Df得到的值,Fvalue为F值,Pr(>F)是对应的P值,结果中F值为2.356,对应的p值为0.0903,表明几组之间没有区别,最后一行的Signif. codes: 0‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1.
我的理解是符号
******.
Sig00.0010.010.050.1
4.2 如果有差别,判断是哪两组间有差别,此例中组间无差别,如果用TukeyHSD(result.aov)来检测的话,结果如下:
Tukey multiple comparisons of means 95% family-wise confidence level
Fit: aov(formula = area ~ group, data = data) $group
diff lwr upr p adjII-I -0.5727778 -1.1827083 0.03715275 0.0719131
模型-I -0.4301111 -1.0400416 0.17981942 0.2438612阳性-I -0.3761111 -0.9860416 0.23381942 0.3553210模型-II 0.1426667 -0.4672639 0.75259720 0.9203635阳性-II 0.1966667 -0.4132639 0.80659720 0.8183851阳性-模型 0.0540000 -0.5559305 0.66393053 0.9950455
4.3TukeyHSD图
plot(TukeyHSD(result.aov))
5. 数据结果绘图
library(sciplot)
bargraph.CI(data$group, x$area, main=\"实验结果示意图\")sciplot包可以直接给出误差棒