背景介绍

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

软件介绍

R、RStudio

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

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

r语言如何分析数据(从原始数据到单因素)(1)

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

r语言如何分析数据(从原始数据到单因素)(2)

3.选择New Directory

r语言如何分析数据(从原始数据到单因素)(3)

4.选择New Project

r语言如何分析数据(从原始数据到单因素)(4)

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

r语言如何分析数据(从原始数据到单因素)(5)

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

r语言如何分析数据(从原始数据到单因素)(6)

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

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

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

# 查看数据 View(T)

r语言如何分析数据(从原始数据到单因素)(7)

(二)数据处理

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

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

r语言如何分析数据(从原始数据到单因素)(8)

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

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

r语言如何分析数据(从原始数据到单因素)(9)

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

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

r语言如何分析数据(从原始数据到单因素)(10)

(三)正态性检验

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

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

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

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

r语言如何分析数据(从原始数据到单因素)(11)

(四)方差齐性检验

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

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

r语言如何分析数据(从原始数据到单因素)(12)

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

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

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

r语言如何分析数据(从原始数据到单因素)(13)

(六)组间两两比较

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

# 组间两两比较 TukeyHSD(T2AOV)

r语言如何分析数据(从原始数据到单因素)(14)

(七)非参数检验

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

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

r语言如何分析数据(从原始数据到单因素)(15)

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

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

r语言如何分析数据(从原始数据到单因素)(16)

今天我们就讲这么多,明天我们继续讲,计算出了组间的差异之后,如何做一个柱状图,并且加上误差条以及显著性*,以及如何导出图,用于SCI论文中。

,