从原始数据到单因素方差分析,再到组间两两比较

发布时间:2021-11-05来源:未知 编辑:admin

广告位置(首页一通--图文)

背景介绍

R语言对于实验组之间进行单因素方差分析或者非参数检验,也是非常方便的,简单快捷,仅仅几行代码,即可快速进行组间两两比较。

 

软件介绍

R、RStudio

 

数据分析教程
(一)输入导入

1.打开我们在Excel中的数据,瞅一眼。也就是平时大家做完试验的数据,顶端第一行是各个组别的名称,下面是组里各个样品的测试数据

图片

 

2.打开RStudio软件,点击File-New Project

图片

 

3.选择New Directory

图片

 

4.选择New Project

图片

 

5.命名文件夹,选择保存路径

图片

 

6.将Excel文件放在上述这个文件夹下

图片

 

7.在脚本框进行提取Excel中的数据

# 提取Excel中的数据
library(openxlsx)
T <- read.xlsx("实验测试.xlsx",colNames = T)

8.我们使用View()函数查看一下数据

# 查看数据
View(T)

图片

 

(二)数据处理

9.比如我们看到里面有个数值不正确,也可以在R语言中进行更改,使用edit()函数,可以对数据进行更改

# 更改数据
T1 <- edit(t)

图片

 

10.因为我们的数据属于宽数据,我们需要将其转换为长数据进行处理,并查看数据

# 宽数据转换长数据
T2 <- stack(T1)
View(T2)

图片

 

11.可以使用names()函数对数据集的列名进行重命名,并查看

# 重命名列名称
names(T2<- c("Time","Group")
T2

图片

 

(三)正态性检验

12.使用attach()函数将T2数据读取进R,方便调取

# 使用attach()函数将T2数据读取进R,方便调取
attach(T2)

 

13.使用tapply()函数对数据进行正态性检测,在下方,我们可以观察到p值,如果p大于0.05,我们则认为数据为正态性,则继续进行方差分析;如果数据不符合正态,则直接进行非参数检验分析

# 正态性检测
tapply(Time,Group,shapiro.test)

图片

 

(四)方差齐性检验

14.在各个组数据为正态性数据的基础上,我们继续看各个组之间的方差是否齐。如果方差齐,则继续进行组间两两比较,也就是单因素方差分析。如果组间方差不齐,则直接进行非参数检验。我们可以看到,p值小于0.05,组间方差不齐,那么该数据是应该使用非参数检验进行分析。为了继续学习单因素方差分析的整个流程,我们继续当做该数据符合正态,继续进行。

# 组间是否方差齐
bartlett.test(Time~Group)

图片

 

(五)组间整体显著性检验

15.在方差齐的前提下,进行组间的整体显著性检验。我们可以看到,组间还是具有显著性的。

# 查看一下组间是否具有显著性
T2AOV <- aov(Time~Group,data = T2)
summary(T2AOV)

图片

 

(六)组间两两比较

16.组间的两两比较,通过查看右边的p值,可以发现两两的比较是否有显著性差异

# 组间两两比较
TukeyHSD(T2AOV)

图片

 

(七)非参数检验

17.在整体数据不符合正态分布,或者组间方差不齐的条件下,我们进行非参数检验。通过kruskal.test()查看后,我们发现,组间具有显著性差异。

# 非参数检验
kruskal.test(Time~Group,data = T2)

图片

 

18.因此,我们直接进行组间的两两比较。没有安装的可以先进行安装包,然后加载使用。通过查看后面标注的*,就可以发现各个组间的差异了。

# 直接进行组间的两两比较
install.packages("PMCMRplus")
library(PMCMRplus)
compare <- bwsAllPairsTest(Time~Group,data = T2)
summary(compare)

图片

 

是不是很简单呢?你学会了吗?

大家都在评