用R语言做单因素方差分析及多重比较

SPSS方差分析的应用已经做得非常好了,绝大多数的方差分析问题均可通过SPSS“点菜单”的方式得以解决,R语言在统计和可视化方面有自己的特色,
我们不妨来对比着学习。
选用R语言自带案例数据集PlantGrowth,研究两个处理和一个对照组对植物产量的影响,每组10例共3记录,主要考察处理对提高植物产量有无影响。
数据构成:因变量weight,因子变量group,三个水平依次为ctrl、trt1、trt2。
01
数据正态性检验
用夏皮罗-威尔克检验3组数据是否服从正态分布,样本容量3~5000均可,这一点比SPSS说得更明确。
语法代码:
data <- PlantGrowth[,1]
shapiro.test(data[1:10])
shapiro.test(data[11:20])
shapiro.test(data[21:30])
ctrl、trt1、trt2三个分组的shapiro.test检验概率p依次为0.7475、0.4519、0.5643,均大于0.05,原假设成立(H0:假设数据服从正态分布),表明3组数据均来自正态分布总体。
02
方差齐次检验
用bartlett.test检验3个分组数据方差是否一致。
语法代码:
bartlett.test(weight~group,data = PlantGrowth)
直接看p-value = 0.2371>0.05,原假设成立(H0:假设3组数据方差相等),表明3组数据的方差齐次。
单因素方差分析,必须对数据正态性和方差齐次做出判断,如果不满足正态或方差齐次,则需要做出有关相应。(在《SPSS从入门到实践提高》课程中有具体讲述)
03
图形可视化
用箱图观察一下3组数据的分布情况。
04
单因素方差分析
用R语言aov函数完成方差分析。
语法代码:
dfc <- aov(weight~group,data = PlantGrowth)
summary(dfc)
R语言是用文本来输出结果,这一点比SPSS逊色多了,读取结果不够直观方便。
方差分析表的p-value=0.0159<0.05,拒绝原假设(H0:3组样本数据均值相等,无差异),说明3组样本均值有差异,不同处理方式对植物产量有显著影响。
05
多重比较
既然不同处理方式对产量有显著影响,那么我们就有必要深究一下,与控制组ctrl相比,处理1组trt1和处理2组trt2哪一个方案更佳。
选择Dunnett比较法。
语法代码:
library(multcomp)
dcbj <- glht(dfc,linfct = mcp(group = 'Dunnett'), alternative = 'two.side')
summary(dcbj)
与控制组相比,trt1的产量下降了0.371,p=0.323>0.05,原假设成立(H0:trt1和ctrl产量无差异),从绝对值来看trt产量下滑,但统计学上认为二者无差异。
与控制组相比,trt2的产量提高了0.494,p=0.153>0.05,原假设成立(H0:trt2和ctrl产量无差异),从绝对值来看trt产量虽然有所提升,但统计学上认为二者仍无差异。
大家辛苦研究,统计上认为两个处理方式竟然和对照组相比没有啥差异,有点小尴尬啊。不过这种被统计拒绝,未达到显著的情况也比较常见。
多重比较的方法非常多,Dunnett法没有LSD法灵敏,我们换LSD看看啥情况。
语法代码:
install.packages("agricolae")
dfclsd <- LSD.test(dfc,'group',p.adj = 'none')
dfclsd$groups
输出一个可视化效果
plot(dfclsd)
可见,两个处理与控制组相比均无差异。和Dunnett的结论一致。
如果用SPSS来做LSD的话,trt2与ctrl相比,差异检验的p值=0.088,比较接近拒绝域临界值水平0.05,如果我们将临界值调整为0.1的话,可说明处理2与对照组产量差异显著,那么在这项研究中,统计检验的拒绝域临界值水平调整为0.1是否恰当或可行,可由这个领域的研究者们讨论确定。
本文认为,可以确定拒绝域显著性水平a为0.1(有90%的把握),此时可认为处理2组trt2控制组相比差异明显,有统计学意义。
本文完
文/图=数据小兵


更多R统计文章
R语言单一样本t检验案例实现
20个R语言小课堂视频教程送给你
R语言的正态密度曲线很美
R自带pairs函数矩阵散点图
car包spm函数矩阵散点图
用R语言pie函数做饼图
ggplot2统计图形:常见的4种箱线图
ggplot2统计图形:常见的4种直方图
按列索引按列名称删除指定的列数据
R语言Levene方差齐次检验
谁说菜鸟不会数据分析(R语言篇)
table函数:分类数据的频数与频率统计
jiebaR包中文分词及词云制作
R语言带文字标签的散点图
如何获取R自带数据集与R包数据集说明文档?
如何修改R数据框的列名称?
二元正态分布及双变量相关分析简单案例演示
R语言相关系数、显著性检验及可视化的尝试
用散点图法判断变量之间是否存在线性关系
ggplot2统计图形:常见的4种散点图
R语言scale()函数实现数据标准化
(0)

相关推荐

  • 15408752359966235e80dfc (640×1115)

    15408752359966235e80dfc (640&#215;1115)

  • 表格数据对比眼花缭乱、痛苦不堪,找对方法,1秒搞定

    [温馨提示]亲爱的朋友,阅读之前请您点击[关注],您的支持将是我最大的动力! 在我们日常工作中,经常碰到两列数据或者两个表格对比,找出差异数据,如果表格的数据太多,靠肉眼一行行对比,即使眼花缭乱.痛苦 ...

  • 博士师兄手把手教你用R语言做PCA分析,不存在学不会!

    手把手教你用R语言做PCA主成分分析,不存在学不会 作者简介 本文作者Trigo Hoang,作者目前在香港攻读博士学位,硕士期间发表了多篇生信相关的SCI,累计影响因子35+,公众号简书会记录作者学 ...

  • 如何使用R语言做生存分析?

    首先,我们这里是介绍使用survival这个包来做. 软件的安装:install.packages(survival) 加载包:library(survival) 我们这里利用R自带的数据进行分析. ...

  • 精心整理(含图PLUS版)|R语言生信分析,可视化

    为了能更方便的查看,检索,对文章进行了精心的整理(PLUS).建议收藏,各取所需,当前没用也许以后就用到了呢! R资料+计划 R语言精品资料年中无套路赠送 R-plotly|交互式甘特图(Gantt ...

  • R语言配对检验分析案例

    原文链接 :http://tecdat.cn/?p=3424 什么是检验对? 检验对的形式 (x1,x2) 出现在两种情况中: 对同一实体执行两次测量.例如,一项评估新型胰岛素疗效的临床研究将为每位患 ...

  • 技术贴 | R语言——肠型分析:介绍、方法

    导读 2011年,肠型(Enterotypes)的概念首次在<自然>杂志上由Arumugam等[1]提出,该研究发现可以将人类肠道微生物组分成稳定的3种类型,因为这3种类型不受年龄.性别. ...

  • 技术贴 | R语言物种组成分析和绘图

    本文由阿童木根据实践经验而整理,希望对大家有帮助. 原创微文,欢迎转发转载. 导读 宏基因组分析分为物种分析和功能分析两大块.物种组成分析是物种分析中最基本最常见的分析方法.利用R语言堆叠图,我们可以 ...

  • R语言数据可视化分析案例:探索BRFSS数据

    原文链接:http://tecdat.cn/?p=9284 加载包 library(tidyr) library(knitr) opts_chunk$set(echo = TRUE, fig.alig ...

  • BMJ子刊:手把手教你用R语言实现meta分析~

    Meta分析是循证医学中非常重要的工具,如果配上一个好的科学问题,它可以整合当前已有的证据,以量化的方式给出相对公正的结论,临床价值也可以非常巨大! 那如何使用R做Meta分析? 是不是觉得无从下手? ...

  • 用R语言做逻辑回归

    用R语言做逻辑回归 jmzeng(jmzeng1314@163.com) 回归的本质是建立一个模型用来预测,而逻辑回归的独特性在于,预测的结果是只能有两种,true or false 在R里面做逻辑回 ...