当前位置:首页 > 技术分析 > 正文内容

R新包:快速分组进行多重比较

ruisui8812小时前技术分析1

学习R两年半,我们的小伙伴终于发布了人生第一个R语言包(MultiCom)。

这个包是基于 agricolae 衍生的,为了方便数据探索阶段进行多重比较,传统的方法如果是多年多点的试验数据,再加上品种、时期、器官啥的,比较某一 品种、时期、器官的浓度或者生物量有没有差异的话,需要循环进行,如果你关心的因变量发生了变化,就得修改循环中的变量......,懂的都懂,很麻烦,也容易出错, MultiCom 就是解决这个问题的。
利用 MultiCom ,你只需要输入数据框,自变量和因变量(var_name中前者为自变量,后者为因变量),分组条件(也可以不输入)以及多重比较的方法和显著性水平(默认LSD,0.05)。就可以返回分组条件下的均值、样本量、标准差、标准误、多重比较结果(a,b,c...),以及正态性检验和方差齐性检验结果。利用这个结果作图也十分丝滑流畅(直接代码添加显著性结果)。
library(rio)library(tidyverse)library(MultiCom)set.seed(123)
# 生成演示数据dat <- expand.grid( Year = 2018:2021, Site = c("Beijing", "Shanghai", "Guangzhou", "Chengdu"), Hybrid = paste0("H", 1:4), Organ = c("Leaf", "Stem")) %>% mutate(Value = runif(n(), 10, 50) %>% round(1)) %>% slice(rep(1:n(), 4)) %>% mutate(Value = Value + rnorm(n(), 0, 5) %>% round(1), Value = pmax(Value, 0.1)) %>% sample_n(n()) %>% tibble::rownames_to_column("ID") %>% select(-ID)
# 分组多重比较result <- multi_group_com( data = dat, var_names = c("Hybrid", "Value"), group_vars = c("Site", "Year", "Organ"), method = c("LSD", 0.05)) head(result)
# 堆积柱状图数据格式转换result_plot <- result %>% mutate(Organ = factor(Organ, levels = c("Stem","Leaf"))) %>% arrange(Hybrid, Year, Site, desc(Organ)) %>% group_by(Hybrid, Year, Site) %>% mutate(ymin = cumsum(Value), ymax = cumsum(Value) + sd)
# 堆积柱状图(添加标准差,多重比较结果)ggplot(result_plot, aes(x = Hybrid, y = Value, fill = Organ)) + facet_grid(Year ~ Site) + geom_bar(stat = "identity", width = 0.8, aes(group = Organ)) + geom_errorbar(aes(ymin = ymin, ymax = ymax, color = Organ), width = 0.2) + geom_text(aes(y = ymax + 10, x = Hybrid, group = Organ, label = groups)) + scale_y_continuous(expand = c(0,0)) + labs(x = NULL, y = quote(Biomass~(Mg~ha^'-1')), fill = "Organ") + theme_test() + theme(axis.text = element_text(color = 'black'), legend.position = "bottom")

代码中演示数据的result结果

代码中演示数据可视化结果

注意: warning_normal和warning_levene为FALSE表示通过 正态性检验和方差齐性检验, 为TRUE则需要注意,在这种情况下,多重比较依旧采用了指定的方法进行,统计结果需要推敲。另外对于两组变量的比较应该选择T检验,但依旧使用的多重比较(因变量为2组时等同于T检验)。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/4515.html

标签: group by desc
分享给朋友:

“R新包:快速分组进行多重比较” 的相关文章

10分钟搞定gitlab-ci自动化部署

gitlab-ci 是持续集成工具/自动化部署工具,类似 jenkins。持续集成 是将代码集成到共享存储库并尽可能早地自动构建/测试每个更改的实践 - 通常一天几次。概述在编码完成时都会进行打包发布过程,如果每次都手动操作这一步骤就会浪费时间,效率低下。所以就有了持续集成。准备事项请提前安装以下软...

一次Java内存占用高的排查案例,解释了我对内存问题的所有疑问

问题现象7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存。看了下其它服务,同样的堆内存配置,它们内存占用约70%~79%,此服务比其它服务内存占用稍大。那为什么此服务内存占用稍大...

HTML5最新版本介绍

HTML5是HTML4.01和XHTML1.0之后超文本标记语言的最新版本,由一群自由思想者设计,最终实现了多媒体支持、交互性、更智能的表单和更好的语义标注。 HTML 5不只是 HTML规范的最新版本,它是用于生成现代 Web内容的一系列相关技术的总称,其中最重要的三个技术是:HTML5核心规范...

多项修正 尼康D4s发布最新1.10版固件

尼康公司与2014年8月27日发布了D4s的最新固件,固件版本号为C:1.10。这次固件升级,主要解决了一些BUG,并且对拍摄菜单与相机操作做了一定调整。下面是本次新固件的具体信息:尼康发布D4s最新C固件 1.10版对C固件升级到1.10版所作的修改:当选定运动VR模式并换上 AF-S 尼克尔 4...

虚幻引擎5.5现已发布 手游开发、动画制作重大改进

Epic在今天发布了虚幻引擎5.5,现可通过Epic Launcher下载。此版本在动画创作、渲染、虚拟制片、移动端游戏开发和开发人员迭代工具集等方面做出了重大改进。 官方博客:虚幻引擎5.5现已发布,在动画创作、虚拟制作和移动游戏开发方面取得了显著进步,渲染、摄像机内视觉特效和开发人员迭代等领域的...

深入理解vue-router原理

说到vue-router就表明他只适合于vue和vue是强绑定的关系;不适合其他框架;现在我们模仿实现一个VueRouter;1.要使页面刷新;借助vue本身的响应式原理;import Home from "./views/Home"; import About from "...