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

在进行数据分析之前,我们要对试验数据进行检验,即独立性检验、正态性检验、方差齐性检验,若三者检验符合条件,则我们可以进行参数分析,如果不符合条件则只能进行非参数分析。

参数分析:假定数据服从某分布(一般为正态分布),通过样本参数的估计量(x±s)对总体参数(μ)进行检验,比如t检验、方差分析、Pearson的相关分析等。非参数分析:不需要假定总体分布形式,直接对数据的分布进行检验。由于不涉及总体分布的参数,故名「非参数」检验,包括卡方检验、二项分布检验、K-S检验、秩和检验、符号检验、Spearman和Kendall的相关性分析等)

接下来,我演示一个R语言进行的参数分析的单因素方差分析。

原始数据:探究添加不同浓度的氮肥(N1,N2,N3,N4,N5)对植物根际土壤硝态氮的浓度影响

(同学们使用edit()函数,把我的数据仿照输入,这样你们的数据不需要整理,直接进入数据重构的那步。)

data<-data.frame(N1=numeric(0),N2=numeric(0),N3=numeric(0),N4=numeric(0),N5=numeric(0))
data<-edit(data)

第一步:进行数据整理与重构:

library(readxl)
DN <- read_excel("C:/Users/lenovo/Desktop/DN.xlsx")
View(DN)
DN
data<-edit(DN)#打开数据编辑表,查看和编辑数据

发现数据错误,进行数据的调整(见上一文章)

library(tidyverse)
library(gcookbook)
data<-DN%>%select(N1,N2,N3,N4,N5)
data

数据重构:

library(reshape2)
data <- melt(data,id=c())#进行数据的合并重构
names(data) <- c('trt', 'val')
data

第二步:对数据进行参数检验(独立性、正态性和方差齐性检验)

data1<-table(data$trt,data$val)
chisq.test(data1)#独立性检验函数chisq.test()

shapiro.test(data$val)#shaprio.test()正态性检验函数

bartlett.test(val~trt,data)#方差齐性检验函数bartlett.test()

可以看到三大参数检验P>0.05,即接受原假设,数据满足独立性,正态性和方差齐性。

 第三步:单因素方差分析和多重比较

单因素方差分析

aov<-aov(val~trt,data=data)#单因素方差分析
summary(aov)

P<0.05,拒绝原假设,各组试验结果均值存在差异,即添加不同浓度的氮肥对植物根际土壤的硝态氮浓度存在影响差异。

多重比较:介绍两种函数LSD.test()和Duncan.test()

library(agricolae)
data2<-LSD.test(aov,'trt',p.adj = 'bonferroni')#'bonferroni'对P值进行修正
print(data2$groups)
plot(data2)

可以看到不同组别之间的显著性差异。

data3<-duncan.test(aov,'trt')#duncan.test()函数
data3$groups
plot(data3)

第四步:提取关键数据并处理(以Duncan多重比较为例)

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

第五步:根据结果画图

p<-ggplot(total,aes(trt,mean))+geom_bar(stat="identity",fill="grey50",width = 0.5)
p1<-p+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"))p2<-p1+theme(panel.grid.major = element_blank(),panel.grid.minor=element_blank(),panel.background = element_blank(),axis.line=element_line(colour="black",size=0.6))p3<-p2+labs(x="不同的氮肥添加浓度",y="植物根际土壤硝态氮浓度")+ylim(0,200)
p3

end~

R语言基础数据分析—单因素方差分析相关推荐

  1. 数据分析必备:掌握这个R语言基础包1%的功能让你事半功倍!(附代码)

    来源:大数据 本文约7100字,建议阅读15分钟. 本文介绍了utils包在R语言基础的用途. [ 导读 ]无论数据分析的目的是什么,将数据导入R中的过程都是不可或缺的.毕竟巧妇难为无米之炊.util ...

  2. 《R语言游戏数据分析与挖掘》一导读

    前 言 为什么要写这本书 随着大数据的概念越来越流行,越来越多的企业开始重视数据,期待从数据中寻找有价值的结论,以指导公司管理层决策,最终创造更大的价值.但是在游戏行业,数据分析的发展相对缓慢,很多游 ...

  3. R语言基础统计分析:正态性检验、方差齐性检验、T检验、方差分析、秩和检验

    R语言基础统计分析 1. 正态性检验 1.1 Shapiro-Wilk正态检验方法 1.2 QQ图 2. 方差齐性检验 2.1 Bartlett检验,适用于正态分布数据 2.2 Levene检验,非正 ...

  4. R语言基础入门(全)

    R 是门语言,也是个环境.个人认为R有点像matlab. R自带多种统计学及数字分析功能.R的功能也可以通过安装包(Packages,用户撰写的功能)增强,个人感觉这个就是插件.因为S的血缘,R比其他 ...

  5. FigDraw 2. SCI 文章绘图必备 R 语言基础

    点击关注,桓峰基因 桓峰基因 生物信息分析,SCI文章撰写及生物信息基础知识学习:R语言学习,perl基础编程,linux系统命令,Python遇见更好的你 70篇原创内容 公众号 关注公众号,桓峰基 ...

  6. R语言基础指令和并行算法初识(上篇)

    一.R语言背景介绍 二. R语言基础指令 三. R语言并行算法 四. 计划打算 一.R语言背景介绍 1.2.起源:R是统计领域广泛使用的诞生于1980年左右的S语言的一个分支.可以认为R是S语言的一种 ...

  7. R语言基础知识入门学习(一)

    目录 系列文章目录 一.软件下载 二.基本知识 1. 对象 2. 向量 3. 向量化 4. 因子 总结 系列文章目录 R语言基础知识入门学习(一) 一.软件下载 我们可以通过这个网址对R语言软件进行下 ...

  8. R语言与数据分析练习:使用ARIMA模型预测网站访问量

    R语言与数据分析练习:使用ARIMA模型预测网站访问量 使用ARIMA模型预测网站访问量 一.实验背景: 随着流量的增大,某网站的数据信息量也在以一定的幅度增长 基于该网站2016年9月~2017年2 ...

  9. [R语言基础]——数据处理实例

    [R语言基础]--数据处理实例 前言 问题 Step1:建立数据框 Step2:计算综合得分 Step3:对学生进行评分 Step4:根据姓氏和名字排序 完整代码 前言 之前我们已经学习了R对数据预处 ...

最新文章

  1. 重装操作系统的20条原则(转载)
  2. dedecms 漏洞_织梦dedecms文档内容页自动关联tag标签加入内链的方法_dedecms_CMS教程...
  3. 要不是这本书及时出现,本周真撑不下去…
  4. CSS的一些基础知识
  5. QT打开和保存文件对话框
  6. 苹果11如何设置9宫格_4月9日三只可转债回落卖出条件单结果,10日永高转债上市,手把手教你如何设置华宝智投的涨跌幅条件单...
  7. Mac idea 打不开
  8. I+关系网络分析发布,提供完整的可视化分析和关系引擎功能
  9. centos7:塔建pure_ftpd虚拟用户
  10. python爬取行业数据_用Python进行Web爬取数据
  11. 做自媒体也要注意“轻资产”
  12. 笔记本电脑里计算机未响应,win10系统笔记本word程序总是未响应的详细方案
  13. Word怎么显示目录
  14. FPGAASIC开发流程
  15. PV3D的小练习~太阳系八大行星
  16. h0043. 奇怪的汉诺塔
  17. 微光集市-JWT和Token在本项目中的应用(版本5.0)
  18. 机器学习实战——人脸表情识别
  19. alpine linux系统操作
  20. user administration

热门文章

  1. set Assigning an instance of ‘esri.***‘ which is not a subclass of ‘esri.***‘错误偶遇
  2. Tiny210(S5PV210) U-BOOT(五)----Nand Flash源码分析
  3. 0.91英寸和0.96英寸OLED驱动区别
  4. 不讨老婆之“不亦快哉”(三十三则)(李敖)
  5. webpy —— 简单直接的 python web 框架
  6. Windows系统设置多账户步骤
  7. CTS、CTS Verify、GTS测试以及GMS认证介绍
  8. 给深度学习新手做项目的10个建议
  9. 【OpenStack(Train版)安装部署(十六)】之Nova的API测试,报错处理
  10. java阶梯计费,机器智能审核阶梯计费方式