R语言如何实现方差分析及其可视化
发表于:2024-10-01 作者:千家信息网编辑
千家信息网最后更新 2024年10月01日,今天小编给大家分享一下R语言如何实现方差分析及其可视化的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一
千家信息网最后更新 2024年10月01日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安全错误
数据库的锁怎样保障安全
电脑版软件开发程序
软件开发项目奖金设置
卫生监督所网络安全应急预案
服务器alarm灯闪
游戏软件开发完成
网信小课堂网络安全基础知识
嵌入式软件开发工程师英语
凭据管理器 rpc服务器
中等规模软件开发团队
上海付正网络技术
无线网络安全性怎么设置
陌声服务器中断
数据库工程师考试考什么
极速传奇软件开发公司
上海夺畅网络技术有限公司怎样
苏州和杭州软件开发怎么样
限定研究对象性别的数据库有
hive为什么要连数据库
ps4 u盘找不到数据库
软件开发新员工培训ppt
嘉兴营销软件开发管理
软件开发的职业发展趋势和要求
浙江网络技术开发创新服务
用友服务器连接配置怎么写
虚拟机游戏服务器外网
腾讯游戏服务器客服
新闻写作网络安全
服务器专用板载管理端
服务器终端管理工具
网络技术文案高质量