python方差分析_R语言方差分析ANOVA

本文介绍了使用R语言进行单因素和双因素方差分析(ANOVA)的方法,包括单因素ANOVA的完整表格计算、多重比较、假设条件评估以及非参数检验的Kruskal-Wallis秩和检验。同时,讨论了协方差分析(ANCOVA)的应用,涉及交互效应的检验和结果可视化。此外,还提到了Python方差分析的应用,强调了交互作用的影响。
摘要由CSDN通过智能技术生成

自己整理编写的R语言常用数据分析模型的模板,原文件为Rmd格式,直接复制粘贴过来,作为个人学习笔记保存和分享。

I. 单因素方差分析

#用data frame的格式输入数据

medicine

Response=c(7,5,3,1,6,5,3,3,7,9,9,9,4,3,4,3),

Treatment=factor(c(rep(1,4),rep(2,4),rep(3,4),rep(4,4)))

) #各组样本大小

table(medicine$Treatment)

#各组的均值

aggregate(medicine$Response,by=list(medicine$Treatment),FUN=mean)

#各组的标准差

aggregate(medicine$Response,by=list(medicine$Treatment),FUN=sd)

#调用aov函数进行方差分析(检验组间差异)

medicine.aov

Treatment,data=medicine)

#summary提取方差分析的结果

summary(medicine.aov)

分析上述计算结果,Df表示自由度,Sum Sq 表示平方和,Mean Sq

表示均方,F value 是F值,Pr(>F)是p值,A即为因子A,Residuals 是残差。

但是我们注意到,这个结果并不完整。直接用summary()函数时候,只有因素A和误差两行,没有总和,这里编个小程序(anova.tab.R)作改进,计算方法为:将summary函数得到表中的第一行与第二行求和,得到总和行的值。

#anova.tab.R程序

anova.tab

tab

k

temp

c(sum(tab[[1]][,1]),sum(tab[[1]][,2]),rep(NA,k))

tab[[1]]["Total",]

}

将anova.tab.R函数保存在工作目录中。

getwd()

#利用anova.tab.R函数,得到完整的方差分析表

source("anova.tab.R");anova.tab(medicine.aov)

#画图

plot(medicine$Response~medicine$Treatment)

#绘制各组均值及其置信区间的图形

library(gplots)

plotmeans(medicine$Response~medicine$Treatment,xlab =

"Treatment",ylab = "Response",main = "Mean Plot\nwith 95% CI")

1.多重比较

ANOVA对各疗法的F检验表明,4种药品用于缓解术后疼痛的疗效不同,但是并不能得出哪种药品疗法与其他不同。多重比较可以解决这个问题.e.g.

TukeyHSD()函数提供了对各组均值差异的成对检验;multcomp包中的glht()函数提供了多重均值比较更为全面的方法,既适用于线性模型,也适用于广义线性模型;多重t检验方法针对每组数据进行t检验。代码如下:

TukeyHSD(medicine.aov)

#par()函数旋转轴标签,增大左边界面积,使标签摆放更美观。

par(las = 2)

par(mar = c(5, 8, 4, 2))

plot(TukeyHSD(medicine.aov))

图形中置信区间包含0的药品对比,说明差异不显著。

library(multcomp)

#为适合字母阵列摆放&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值