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

python方差分析_R语言方差分析ANOVA本文介绍了使用 R 语言进行单因素和双因素方差分析 ANOVA 的方法 包括单因素 ANOVA 的完整表格计算 多重比较 假设条件评估以及非参数检验的 Kruskal Wallis 秩和检验

自己整理编写的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)

#为适合字母阵列摆放&

今天的文章 python方差分析_R语言方差分析ANOVA分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-12-31 17:06
下一篇 2024-12-31 17:01

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/97700.html