R语言-方差分析

方差分析指的是不同变量之间互相影响从而导致结果的变化

1.单因素方差分析:

  案例:50名患者接受降低胆固醇治疗的药物,其中三种治疗条件使用药物相同(20mg一天一次,10mg一天两次,5mg一天四次),剩下的两种方式是(drugE和drugD),代表候选药物

     哪种药物治疗降低胆固醇的最多?

 1 library(multcomp)
 2 attach(cholesterol)
 3 # 1.各组样本大小
 4 table(trt)
 5 # 2.各组均值
 6 aggregate(response,by=list(trt),FUN=mean)
 7 # 3.各组标准差
 8 aggregate(response,by=list(trt),FUN=sd)
 9 # 4.检验组间差异
10 fit <- aov(response ~ trt)
11 summary(fit)
12 library(gplots)
13 # 5.绘制各组均值和置信区间
14 plotmeans(response ~ trt,xlab = ‘Treatment‘,ylab = ‘Response‘,main=‘MeanPlot\nwith 95% CI‘)
15 detach(cholesterol)

  结论:

    1.均值显示drugE降低胆固醇最多,1time降低胆固醇最少.

    2.说明不同疗法之间的差异很大

  多重比较药品和服药次数

1 library(multcomp)
2 par(mar=c(5,4,6,2))
3 tuk <- glht(fit,linfct=mcp(trt=‘Tukey‘))
4 plot(cld(tuk,level=.05),col=‘lightgrey‘)

    结论:每天复用4次和使用drugE的时候治疗胆固醇效果最好

  评估检验的假设条件

1 library(car)
2 qqPlot(lm(response ~ trt,data=cholesterol),simulate=T,main=‘Q-Q Plot‘,labels=F)
3 bartlett.test(response ~ trt,data=cholesterol)
4 # 检测离群点
5 outlierTest(fit)

  结论:数据落在95%置信区间的范围内,说明数据点满足正态性假设

 2.单因素协方差分析

  案例:怀孕的小鼠被分为4各小组,每个小组接受不同剂量的药物剂量(0.5,50,500)产下小鼠体重为因变量,怀孕时间为协变量

 1 data(litter,package = ‘multcomp‘)
 2 attach(litter)
 3 table(dose)
 4 aggregate(weight,by=list(dose),FUN=mean)
 5 fit2 <- aov(weight ~ gesttime + dose)
 6 summary(fit2)
 7 library(effects)
 8 # 取出协变量计算调整的均值
 9 effect(‘dose‘,fit2)
10 contrast <- rbind(‘no drug vs drug‘ = c(3,-1,-1,-1))
11 summary(glht(fit2,linfct=mcp(dose=contrast)))
12 library(HH)
13 ancovaplot(weight ~ gesttime + dose,data=litter)

 结论:0剂量产仔20个,500剂量产仔17个

    0剂量的体重在32左右,500剂量在30左右

       怀孕时间和体重相关

       用药剂量和体重相关

 

  结论:小鼠的体重和怀孕时间成正比和剂量成反比

3.双因素方差分析

  案例:随机分配60只豚鼠,分别采用两种喂食方法(橙汁或者维C),各种喂食方法中含有抗坏血酸3钟含量(0.5,1,2)

     每种处理组合都分配10只豚鼠,牙齿长度为因变量

1 attach(ToothGrowth)
2 table(supp,dose)
3 aggregate(len,by=list(supp,dose),FUN=mean)
4 aggregate(len,by=list(supp,dose),FUN=sd)
5 # 将dose转换为因子变量,这样就不是一个协变量
6 dose <- factor(dose)
7 fit3 <- aov(len ~ supp*dose)
8 summary(fit3)
9 detach(ToothGrowth)

  结论:主效应的对豚鼠牙齿影响很大

  结论:在0.5~1mg的区间中维C的豚鼠的牙齿长度超过使用橙汁的小鼠,在1~2的区间内同理,当超过2mg时,两者对豚鼠牙齿的影响相同

4.重复测量方差

  案例:在一定浓度的CO2的环境中比较寒带植物和非寒带植物的光合作用率进行比较

 1 CO2$conc <- factor(CO2$conc)
 2 w1b1 <- subset(CO2,Treatment == ‘chilled‘)
 3 fit4 <- aov(uptake ~ conc*Type + Error(Plant/(conc)),w1b1)
 4 summary(fit4)
 5 par(las=2)
 6 par(mar=c(10,4,4,2))
 7 with(w1b1,interaction.plot(conc,Type,uptake,type=‘b‘,col=c(‘red‘,‘blue‘),pch=c(16,18),
 8                            main=‘Interaction plot for plant type and concentration‘))
 9 boxplot(uptake~Type*conc,data=w1b1,col=c(‘gold‘,‘green‘),
10         main = ‘Chilled Quebec and Mississippi Plants‘,
11         ylab="Carbon dioxide uptake rate (umol/m^2 sec)")

  结论:魁北克的植物比密西西比州的二氧化碳的吸收率高,随着CO2的浓度体高,效果越明显

5.多元方差分析

  案例:研究美国食物中的卡路里,脂肪,糖分是否会因货架的不同而不同

1 library(MASS)
2 attach(UScereal)
3 shelf <- factor(shelf)
4  y <- cbind(calories,fat,sugars)
5  aggregate(y,by=list(shelf),FUN=mean)
6  cov(y)
7  fit5 <- manova(y ~ shelf)
8  summary(fit5)
9  summary.aov(fit5)

  找出离群点

 1 center <- colMeans(y)
 2 n <- nrow(y)
 3 p <- ncol(y)
 4 cov <- cov(y)
 5 d <- mahalanobis(y,center,cov)
 6 coord <- qqplot(qchisq(ppoints(n),df=p),d,
 7                 main="QQ Plot Assessing Multivariate Normality",
 8                 ylab="Mahalanobis D2")
 9 abline(a=0,b=1)
10 identify(coord$x,coord$y,labels = row.names(UScereal))

  结论:在不同的货架上的谷物营养成分不同,有两个产品不符合多元正态分布

1 library(rrcov)
2 # 稳健多元方差分析
3 Wilks.test(y,shelf,method=‘mcd‘)

 

  结论:稳健检测对离群点和违反MANOVA不敏感,证明了在不同货架的谷物营养成分不同的结论

原文地址:https://www.cnblogs.com/luhuajun/p/8452331.html

时间: 2024-11-08 21:44:24

R语言-方差分析的相关文章

实验的方差分析(R语言)

实验设计与数据处理(大数据分析B中也用到F分布,故总结一下,加深印象)第3课小结--实验的方差分析(one-way analysis of variance) 文章出自:https://www.cnblogs.com/endlesscoding/p/9863790.html,未经博主同意,请勿转载. 概述 实验结果\(S\)受多个因素\(A_i\)影响,但影响的程度各不相同,如何通过实验数据来确定因素的影响程度呢?其函数关系为 \[ S=f(A_1,A_2,\cdots,A_n) \tag{1}

R语言实战(五)方差分析与功效分析

本文对应<R语言实战>第9章:方差分析:第10章:功效分析 ==================================================================== 方差分析: 回归分析是通过量化的预测变量来预测量化的响应变量,而解释变量里含有名义型或有序型因子变量时,我们关注的重点通常会从预测转向组别差异的分析,这种分析方法就是方差分析(ANOVA).因变量不只一个时,称为多元方差分析(MANOVA).有协变量时,称为协方差分析(ANCOVA)或多元协方差分析

R语言统计分析-方差分析

R语言统计分析-方差分析 一.方差分析简单的例子 测试6中杀虫剂的效果,目标值为虫子个数,对方差进行分析. 1.导入数据 data(InsectSprays) 2.平方根转换,分析 aov.spray <- aov(sqrt(count) ~ spray, data = InsectSprays) aov()左边为左边相应变量,右边预测变量. 等价于 > aov.spray <- aov(sqrt(InsectSprays$count) ~ InsectSprays$spray) 知道编

《R语言实战》学习笔记seventh

由于在准备软考中级数据库系统工程师外加巩固SQL Server 2012,所以拖了好久一直没继续学R 下去 所以今天重开R 的战事 这次是关于基本统计分析的内容,即关于用于生成基本的描述性统计量和推断统计量的R 函数 首先,将着眼于定量变量的位置和尺度的衡量方式 然后将是生成类别型变量的频数表和列联表的方法(以及连带的卡方检验) 接下来将考察连续型和有序型变量相关系数的多种形式 最后转而通过参数检验(t检验)和非参数检验(Mann-Whitney U检验.Kruskal-Wallis检验)方法研

《R语言实战》(中文完整版)pdf

下载地址:网盘下载 基本介绍 编辑 原作名: R in Action[2] 作者: Robert I. Kabacoff 译者: 高涛 / 肖楠 / 陈钢 出版社: 人民邮电出版社 出版年: 2013-1 页数: 388 定价: 79.00元 装帧: 平装 ISBN: 978-711-529-990-1 内容简介 编辑 数据时代已经到来,但数据分析.数据挖掘人才却十分短缺.由于"大数据"对每个领域的决定性影响,相对于经验和直觉,在商业.经济及其他领域中基于数据和分析去发现问题并作出科学

数据分析,R语言

数据结构 创建向量和矩阵 1 函数c(), length(), mode(), rbind(), cbind() 求平均值,和,连乘,最值,方差,标准差 1 函数mean(), sum(), min(), max(), var(), sd(), prod() 帮助文档 1 函数help() 生成向量 1 seq() 生成字母序列letters 新建向量 1 Which()函数,rev()函数,sort()函数 生成矩阵 1 函数matrix() 矩阵运算 1 函数t(),矩阵加减 矩阵运算 1

R语言︱机器学习模型评估方案(以随机森林算法为例)

R语言︱机器学习模型评估方案(以随机森林算法为例) 笔者寄语:本文中大多内容来自<数据挖掘之道>,本文为读书笔记.在刚刚接触机器学习的时候,觉得在监督学习之后,做一个混淆矩阵就已经足够,但是完整的机器学习解决方案并不会如此草率.需要完整的评价模型的方式. 常见的应用在监督学习算法中的是计算平均绝对误差(MAE).平均平方差(MSE).标准平均方差(NMSE)和均值等,这些指标计算简单.容易理解:而稍微复杂的情况下,更多地考虑的是一些高大上的指标,信息熵.复杂度和基尼值等等. 本篇可以用于情感挖

机器学习 1、R语言

R语言 R是用于统计分析.绘图的语言和操作环境.R是属于GNU系统的一个自由.免费.源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具. 特点介绍 •主要用于统计分析.绘图.数据挖掘 •R内置多种统计学及数字分析功能.R的功能也可以通过安装包(Packages,用户撰写的功能)增强. •因为S的血缘,R比其他统计学或数学专用的编程语言有更强的面向对象(面向对象程序设计)功能 官网:http://cran.r-project.org/ 其他介绍 •R的另一强项是绘图功能,制图具有印刷的素质

R语言学习路线和常用数据挖掘包(转)

对于初学R语言的人,最常见的方式是:遇到不会的地方,就跑到论坛上吼一嗓子,然后欣然or悲伤的离去,一直到遇到下一个问题再回来.当然,这不是最好的学习方式,最好的方式是——看书.目前,市面上介绍R语言的书籍很多,中文英文都有.那么,众多书籍中,一个生手应该从哪一本着手呢?入门之后如何才能把自己练就成某个方面的高手呢?相信这是很多人心中的疑问.有这种疑问的人有福了,因为笔者将根据自己的经历总结一下R语言书籍的学习路线图以使Ruser少走些弯路. 本文分为6个部分,分别介绍初级入门,高级入门,绘图与可