R语言如何实现方差分析及其可视化
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,今天小编给大家分享一下R语言如何实现方差分析及其可视化的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一
千家信息网最后更新 2025年01月21日R语言如何实现方差分析及其可视化
今天小编给大家分享一下R语言如何实现方差分析及其可视化的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
方差分析(Analysis of Variance,简称ANOVA),又称"变异数分析",是R.A.Fisher发明的,用于两个及两个以上样本均数差别的显著性检验。 由于各种因素的影响,研究所得的数据呈现波动状。 造成波动的原因可分成两类,一是不可控的随机因素,另一是研究中施加的对结果形成影响的可控因素。
方差分析分类:
方差分析常用的为单因素方差分析和双因素方差分析,而多因素方差分析比较复杂用的不多,这里主要介绍前两种方差分析。
单因素方差分析
单因素方差分析比较的是分类因子定义的两个或多个组别中的因变量均值。与t检验区别:t检验适用于两列数据的均值比较。单因素方差分析适用于两列或更多列数据的均值比较。但对于两列数据的均值比较,单因素方差分析=等方差假设的双尾t检验。
以R中内置数据PlantGrowth集为例。不同地块( 'ctrl', 'trt1', and 'trt2')种植的植物的产量(weight)数据;解决的问题如下
1.不同地块产量是否存在差异
2.trt1与trt2是哪块差异更大
##正态性检验my_data <- PlantGrowthshapiro.test(my_data$weight)#结果表明,p=0.8915 >0.05,接受原假设,说明数据在多个水平下都是正态分布的。##方差齐性检验bartlett.test(weight~group,data=my_data)#结果表明,p=0.2371 >0.05,接受原假设,说明数据在不同水平下是等方差的。##单因素方差分析fit<-aov(weight~group,data=my_data)summary(fit)# Df Sum Sq Mean Sq F value Pr(>F) #group 2 3.766 1.8832 4.846 0.0159 *#Residuals 27 10.492 0.3886 #---#Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#结果表明,不同地块见产量差异非常显著。#如果用非参数检验法 Kruskal-Wallis testkruskal.test(weight ~ group, data = my_data)##多重比较(多重T检验),哪块差异更明显#R语言中TukeyHSD()函数提供了对各组均值差异的成对检验。TukeyHSD(fit)#如果用KW检验多重比较,pairwise.wilcox.test(PlantGrowth$weight, PlantGrowth$group, p.adjust.method = "BH")
更好的方法+绘图展示:
利用ggpubr包做方差分析,并可视化分析结果:
library("ggpubr")compare_means(weight ~ group, data = PlantGrowth,method="anova")compare_means(weight ~ group, data = PlantGrowth,method="kruskal.test")my_comparisons <- list(c("ctrl","trt1"), c("ctrl", "trt2"), c("trt1", "trt2"))ggboxplot(my_data, x = "group", y = "weight", color = "group", palette = "jco", order = c("ctrl", "trt1", "trt2"), ylab = "Weight", xlab = "Treatment")+ stat_compare_means(label.y = 11,method = "anova")+ stat_compare_means(comparisons = my_comparisons,label.y = c(7,9,8))
或者小提琴图
ggviolin(my_data, x = "group", y = "weight", fill = "group", palette = "jco", order = c("ctrl", "trt1", "trt2"), ylab = "Weight", xlab = "Treatment",add = "boxplot", add.params = list(fill="white"))+ stat_compare_means(label.y = 11,method = "anova")+ # Global p-value stat_compare_means(comparisons = my_comparisons,label.y = c(7,9,8))
ggbarplot(PlantGrowth, x = "group", y = "weight", add = "mean_se", color = "group",fill="group", palette = "jco")+ stat_compare_means(label.y = 11,method = "anova") + # Global p-value stat_compare_means(comparisons = my_comparisons,label.y = c(7,9, 8),method="t.test")+ scale_y_continuous(expand=c(0,0))
或者线图
ggline(my_data, x = "group", y = "weight", add = c("mean_se", "jitter"), order = c("ctrl", "trt1", "trt2"), ylab = "Weight", xlab = "Treatment")+ stat_compare_means(label.y = 11,method = "anova")+ # Global p-value stat_compare_means(comparisons = my_comparisons,label.y = c(7,9,8))
以上就是"R语言如何实现方差分析及其可视化"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
方差
分析
因素
检验
数据
不同
均值
差异
知识
篇文章
结果
语言
可视化
两个
产量
地块
显著
内容
多个
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
企业域服务器的作用
计算机与网络技术基础课件
企业网络安全设计方案摘要
腾讯软件开发工程师面试题
mc服务器地皮多大
关于网络安全的论据
启东租房网络安全
如何做一个地图服务器
无锡互联网智慧医院软件开发
word数据库批量导入
串口服务器字符间隔
数据库技术在计算机中的地位
资源数据库和知识库
网易云音乐怎么清除数据库
为什么无法与服务器安全连接
网络安全风险评估能力
db2数据库中的time
时序数据库能做什么
db2数据库数据导出
2008r服务器管理器恢复
十二代服务器cpu
广西泰融信网络技术有限公司柳州
服务器安全狗centos
如何开我的世界手机版模组服务器
密码学与网络安全前沿
distinct数据库作用
州天行网络技术有限公司
邯郸计算机软件开发定做
产品文档存在数据库当中
标准数据库建设需要