课题组的每个人都有实验任务,做实验的目的是为了获取实验数据,下一步就要进行数据分析,数据分析的方法各式各样。今天我给大家介绍,如何使用R语言进行单因素方差分析。

有人会问,什么是单因素方差分析?

试验中要考察的指标称为试验指标,影响试验指标的条件称为因素,因素所处的状态称为水平,若试验中只有一个因素改变则称为单因素试验,若有两个因素改变则称为双因素试验,若有多个因素改变则称为多因素试验方差分析就是对试验数据进行分析,检验方差相等的多个正态总体均值是否相等,进而判断各因素对试验指标的影响是否显著,根据影响试验指标条件的个数可以区分为单因素方差分析双因素方差分析多因素方差分析。[1]

下面我演示一下具体操作:

原始数据:探究不同外源添加物对土壤cfpoc含量的影响。

重复 a b c d e f k
1 3.186224 3.2629 2.397264 2.300343 1.806937 2.711331 2.945837
2 2.975125 3.068194 2.962235 2.233887 2.136561 4.185355 3.01814
3 3.150602 4.29719 2.518045 2.169607 2.473778 3.94805 2.785514

 1、导入数据

#导入上述数据
install.packages("xlsxjars")
install.packages("rjava")
library("readxl")
ffpoc <- read_xlsx("C:\\Users\\86138\\Desktop\\实验\\有机碳组分\\外源cfpoc.xlsx")
ffpoc

2、进行数据重构

#数据重构
library(reshape2)
c3 <- melt(c3,id=c())
names(c3) <- c('trt', 'val')
c3 <- c3[-1,]#运行三次,去掉空白行
c3

重构后的数据如下

trt val
1 a 3.186224

2

a

2.975125

3

a

3.150602

4

b

3.262900

5

b

3.068194

6

b

4.297190

7

c

2.397264

8

c

2.962235

9

c

2.518045

10

d

2.300343

11

d

2.233887

12

d

2.169607

13

e

1.806937

14

e

2.136561

15

e

2.473778

16

f

2.711331

17

f

4.185355

18

f

3.948050

19

k

2.945837

20

k

3.018140

21

k

2.785514

3、单因素方差分析与多重比较

(1)单因素方差分析

aov6 <- aov(val~trt,data=c3)
summary(aov6)

(2)多重比较

给大家推荐两种比较方法,两种函数LSD.test()和Duncan.test()

(1)LSD.test()

library(agricolae)#需要用的包
data <- LSD.test(aov6,'trt',p.adj = 'bonferroni')#'bonferroni'#对P值进行修正
print(data6$groups)
plot(data6)

(2)Duncan.test()

library(agricolae)
data6<-duncan.test(aov6,'trt')
data6$groups
plot(data6)

这样就可以看出不同组别之间的显著性差异

4、提取数据

mean <- aggregate(c3$val,by=list(trt=c3$trt),FUN=mean)      #计算均值
sd <- aggregate(c3$val,by=list(trt=c3$trt),FUN=sd)          #计算标准偏差
se <- sd$x/sqrt(nrow(c3)/nrow(sd))                          #计算标准误差
new <- data.frame(trt=mean$trt,mean=mean$x,sd=sd$x,se)      #对计算后的数据重构
label6 <- data.frame(mean=data6$groups$val,label=data6$groups$groups)   #添加多重比较结果
total7 <- merge(new,label6,by="mean")                                  #合并数据
total7

5、画柱状图(带误差棒和显著性字母)

library(ggplot2)
p11 <- ggplot(total7,aes(trt,mean))+geom_bar(stat="identity",fill = c("#90C9E7","#219EBC","#136783","#02304A","#FEB705","#FF9E02","#FA8600"),width = 0.5)+geom_errorbar(aes(ymin=mean-se,ymax=mean+se),width=0.1)+geom_text(aes(y=mean+se,label=label,vjust=-0.5,hjust="center"))+theme(axis.text.x = element_text(size=12,face="bold"),axis.text.y = element_text(size=12,face="bold"),panel.grid.major = element_blank(),panel.grid.minor=element_blank(),panel.background = element_blank(),axis.line=element_line(colour="black",size=0.6))+labs(x="不同外源添加物",y="土壤cfpoc含量 %")+ylim(0,5)
p11

ps:显著性字母相关解释[2]:

(1) 先将平均数由大到小排列(从上到下排列),在最大平均数后标记字母 a 。
(2)用该平均数依次与各平均数相比(向下过程),凡差异不显著都标记同一字母 a,直到遇到与其差异显著的平均数,其后标记字母 b,向下比较停止;
(3)再以标有字母b的该平均数为标准,依次与上方比它大的各个平均数比较(向上过程),凡差异不显著一律再加标b,直至显著为止(开始“掉头”向下);
(4)再以标记有字母 b 的最大平均数为标准(向下过程),依次与下面各未标记字母的平均数相比,凡差异不显著,继续标记字母 b,直至遇到某一个与其差异显著的平均数标记 c;
(5) 如此循环下去,直到最小的平均数被标记、且比较完毕为止。

资料来源

[1]百度百科,单因素方差分析_百度百科 (baidu.com)

[2]百度解答,论文中显著性水平怎么标注_百度知道 (baidu.com)

单因素方差分析——R语言实战相关推荐

  1. 对比《学习R》PDF代码+《R语言实战第2版》PDF代码+《R数据科学》PDF代码分析

    R语言是世界上最流行的用于数据处理和统计分析的脚本语言.考古学家用它来跟踪古代文明的传播,医药公司用它来探索哪种药物更安全.更有效,精算师用它评估金融风险以保证市场的平稳运行.总之,在大数据时代,统计 ...

  2. R语言实战笔记--第十二章 重抽样(置换检验)与自助法

    R语言实战笔记–第十二章 重抽样(置换检验)与自助法 标签(空格分隔): R语言 重抽样 自助法 置换检验 置换检验 双样本均值检验的时候,假设检验的方法就是,检查正态性.独立性.方差齐性,分别对应的 ...

  3. R语言实战笔记--第九章 方差分析

    R语言实战笔记–第九章 方差分析 标签(空格分隔): R语言 方差分析 术语 组间因子,组内因子,水平:组间因子和组同因子的区别是,组间因子对所有测试对象进行分组,而组内因子则把所有测试对象归为同一组 ...

  4. 备受推崇的《R语言实战》真的值得如此好评吗?

    作者:刘洋溢  R语言中文社区专栏作者 知乎ID:https://zhuanlan.zhihu.com/p/51396601 阅前思考: R语言入门必看的<R语言实战>真的是很好的入门书籍 ...

  5. R语言必看推荐:R语言入门经典版(中文版)+R语言实战第二版(中文完整版)

    R语言入门经典(中文版)R for beginners R语言经典教材 第二版 适合初学者 作者:Emmanuel Paradis R 语言实战第二版(中文完整版) R语言实战(第2版)注重实用性,是 ...

  6. R语言实战笔记--第十五章 处理缺失数据

    R语言实战笔记–第十五章 处理缺失数据 标签(空格分隔): R语言 处理缺失数据 VIM mice 缺失值(NA),是导致我们计算错误的一大来源,处理缺失数据在实际的应用中有着较为重要的作用. 基本方 ...

  7. R语言实战:机器学习与数据分析源代码5

    本文辑录了<R语言实战--机器学习与数据分析>(电子工业出版社2016年出版)一书第6章至第7章前半部分(至136页)之代码.本书引言请见如下链接: http://blog.csdn.ne ...

  8. R语言实战(九)主成分和因子分析

    本文对应<R语言实战>第14章:主成分和因子分析 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量成为主成分. 探索性因子分析(EFA)是 ...

  9. R语言实战笔记--第十四章 主成分和因子分析

    R语言实战笔记–第十四章 主成分和因子分析 标签(空格分隔): R语言 主成分分析 因子分析 原理及区别 主成分分析与因子分析很接近,其目的均是为了降维,以更简洁的数据去解释结果,但这两种方法其实是相 ...

最新文章

  1. GlusterFS 安装与配置
  2. Linux中压缩、解压缩(tar/zip/bzip2/gz/gzip/zip)
  3. 使用cnn预测房价_使用CNN的人和马预测
  4. 浅析 NodeJs 的几种文件路径
  5. ajax 页面无刷新,Ajax的页面无刷新实现详解(附代码)
  6. Java实现数据批量导入数据库(优化速度-2种方法)
  7. maven 打包javadoc乱码解决方案
  8. weex默认的flex布局_CSS flex布局入门
  9. 如何让手机快速运行AI应用?这有份TVM优化教程
  10. JavaScript中常见的字符串操作函数及用法
  11. Linux快捷键及命令
  12. 基于Matlab的数字水印设计实现
  13. html图片标签img的介绍以及基本用法详解
  14. rust实现一个mysql驱动_使用Rust编写用户态驱动程序
  15. 项目部署常用linux命令(丰富的教程、资源)
  16. 论文解读2019INFOCOM_Calibrate: Frequency Estimation and Heavy Hitter Identification with LDP
  17. 百度推广引流一个成本多少?百度推广怎么预估成本?
  18. 在HBuilder创建前端web项目时,图片加载不出来,怎么解决?
  19. CTR --- DIEN论文阅读笔记,及tf2复现
  20. 招聘 关于数通与云计算的岗位

热门文章

  1. Android加载自定义字体出错,Android设置自定义字体的解决方案
  2. 利用js去除发货100广告
  3. linux中主成分分析软件,基于全基因组snp数据进行主成分分析(PCA)
  4. 2018.03.02 leaning journal
  5. 攻略丨一文速览2018世界机器人大会最全参会指南
  6. 以95%的精度构建CNN模型
  7. 北京研究院联想公司android面试题
  8. vue 请求参数数组_vue中get请求如何传递数组参数
  9. 计算机毕业设计(附源码)python自动组卷系统
  10. c语言中10c表示什么,18650锂电池产品常说3C,5C,10C,30C是什么意思?