• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

R语言--方差分析2(双因素方差分析、多元方差分析、可视化) ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1 双因素方差分析

 1.1 双因素方差分析的实线

dat<-ToothGrowth

dat

attach(dat)

table(dat$supp,dat$dose)

 

aggregate(len,by=list(dat$supp,dat$dose),FUN=mean) 

解释:根据投方式(橙汁OJ,维CVCsupp和剂量dose来对牙齿的长度len进行求均值

 

 

 

dose<-factor(dose)  

解释:为了避免把dose变量认为是数值变量,而是把dose认为成分组变量,所以设置成因子类型factor

fit<-aov(dat$len~dat$supp*dat$dose)  

解释:aov()做方差分析,把 + 换成了 * ,这两项dat$suppdat$dosee就变成了交互项

summary(fit)

 

结果分析:可以看出P值很小,三个P值都小于0.05,说明不同的投喂方式supp对牙齿的生长长度len是有显著影响的;说明不同的剂量dose对牙齿的生长长度len是有显著影响的;说明在两种投喂方式下,不同的投喂方式supp和剂量dose的交互效应对牙齿的生长长度len是有显著影响的

  

1.2 可视化方法1

interaction.plot(dat$dose,dat$supp,dat$len,type = "b",

                 col=c("red","blue"),pch=c(16,18),main="XX")

 

 

1.3 可视化方法2

library(gplots)

plotmeans(dat$len~interaction(dat$supp,dat$dose,sep=" "),

          connect=list(c(1,3,5),c(2,4,6)),col=c("red","blue"),main="XX",xlab="xlab")

 

 

 

1.4 可视化方法3

library(HH)

interaction2wt(dat$len~dat$supp*dat$dose)

 

 

 

 

2 重复测量方差分析

dat<-CO2

CO2$conc<-factor(CO2$conc)

w1b1<-subset(CO2,Treatment=="chilled")

 

uptake是植物光合作用对二氧化碳的吸收量,是因变量ytype是组间因子,是互斥的,表示的是两个不同地区的植物类型,要么是加拿大的植物,要么是美国的植物,不可能两个地方都是,conc是不同的二氧化碳的浓度,每一种植物都在所有的二氧化碳浓度下,所以conc是组内因子

研究不同地区的植物作用,在某种二氧化碳的浓度作用下,对植物的光合作用效果有没有影响

2.1 含有单个组内因子w和单个组间因子B的重复测量ANOVA

fit<-aov(uptake~conc*Type+Error(Plant/(conc)),w1b1)

summary(fit)

 

结果分析:二氧化碳浓度和类型对植物光合作用都有显著影响

 

2.2 可视化图形呈现

1)方式一

par(las=2)

par(mar=c(10,4,4,2))

with(w1b1,interaction.plot(conc,Type,uptake,type = "b",

                           col=c("red","blue"),pch=c(16,18)))

 

2)方式二

boxplot(uptake~Type*conc,data=w1b1,col=c("red","blue"))

 

 

 

3 多元方差分析

library(MASS)

attach(UScereal)

dat<-UScereal

shelf<-factor(shelf)

y<-cbind(calories,fat,sugars)

fit<-manova(y~shelf)

summary(fit)

 

结果分析:不同的货架shelf上,食物的热量calories,脂肪含量fat和含糖量sugars是非常显著不同的

 

3.1 多元正态性

center<-colMeans(y) 

n<-nrow(y)  #行数

p<-ncol(y)  #列数

cov<-cov(y)  #计算方差

d<-mahalanobis(y,center,cov)

coord<-qqplot(qchisq(ppoints(n),df=p),d)  #画图

abline(a=0,b=1)  #画参考线

identify(coord$x,coord$y,labels = row.names(UScereal))  #给出交互式标出离群点

 

 

3.2 稳健多元方差分析

install.packages("rrcov")

library(rrcov)

wilks.test(y,shelf,method="mcd")

结果分析:P值小于0.05,说明结果是显著性的,即不同货架上食物的热量calories,脂肪含量fat和含糖量sugars是非常显著不同的

 

4 用回归来做ANOVA

library(multcomp)

dat<-cholesterol

levels(dat$trt)

fit.aov<-aov(response~trt,data=dat)

summary(fit.aov)

 

结果分析:aov方差分析,trtresponse的影响非常显著

fit.lm<-lm(response~trt,data=dat)

summary(fit.lm)

 

结果分析:lm回归分析,trtresponse的影响非常显著,并且trt的每一项都显示出来了


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
拓端tecdat|R语言无监督学习:PCA主成分分析可视化发布时间:2022-07-18
下一篇:
R语言--史上最全方差分析发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap