箱线图:按每个组的子集的平均值对组进行排序

2023-12-11

让我们考虑一下这个数据:

df = data.frame('score'=round(runif(15, 1, 10)),
                'group'=paste0("a",rep(c(1,2,3),each=5)),
                'category'=rep(c("big", "big", "big", "big", "small"), 3))

我想用以下方法绘制这些数据的箱线图ggplot2。我想要的是:箱线图(分数〜组),但箱线图根据每组“大”个体的平均值排列。

如果不创建新变量,我无法以简单的方式弄清楚这一点。可以使用 Dplyr。谢谢。


我不知道这是否是一种简单的方法,我个人觉得它很简单,但我使用dplyr找到方法:

#find the means for each group
library(dplyr)
means <-
df %>%
  #filter out small since you only need category equal to 'big'
  filter(category=='big') %>%
  #use the same groups as in the ggplot
  group_by(group) %>%
  #calculate the means
  summarise(mean = mean(score))

#order the groups according to the order of the means
myorder <- means$group[order(means$mean)]

在这种情况下,顺序是:

> myorder
[1] a1 a2 a3

为了根据上面的内容排列箱线图的顺序,您只需要执行以下操作:

library(ggplot2)
ggplot(df, aes(group, score)) +
  geom_boxplot() +
  #you just need to use scale_x_discrete with the limits argument
  #to pass in details of the order of appearance for the boxplots
  #in this case the order is the myorders vector
  scale_x_discrete(limits=myorder)

就是这样。

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

箱线图:按每个组的子集的平均值对组进行排序 的相关文章

  • 如何按组计算日期之间的时间差

    我有一个包含日期 时间和位置的数据框 我想计算组内记录与上一条记录 根据日期排列 之间的分钟差异 并变异为新列 我已经弄清楚如何使用循环来完成此操作 但这仅适用于所有组 位置 而且我不确定如何按组执行此操作 fake data set fo
  • 如何重新格式化数据并映射它?

    假设我有数据 其中列名称是城市 行名称是经度和纬度 Columbus Nashville Austin Washington D C London Manchester lon 82 99879 86 7816 97 74306 77 03
  • 使用 dplyr 进行括号转义的表名称

    我正在以编程方式获取一堆数据集 其中许多数据集都有以数字开头的愚蠢名称 并且其中包含特殊字符 例如减号 因为没有一个数据集特别大 而且我希望 R 能够对数据类型做出最好的猜测 所以我使用 dplyr 将这些表转储到 SQLite 中 我使用
  • 将鼠标悬停在 ggplot 上时更新 CSS 和渲染工具提示以错误的顺序发生

    我在这里构建了一个虚拟应用程序 它为 ggplot 生成悬停消息 并确保它们保持在屏幕边界内 我编写了一些计算来确定所需的 CSS 更正并将其发送到服务器 它基于将悬停消息保留在此处的第一次尝试 SO问题 https stackoverfl
  • strsplit 与 gregexpr 不一致

    一条评论 https stackoverflow com questions 23961022 split strings on first and last commas 23964843 noredirect 1 comment3692
  • 在 heatmap.2 中将行标签设置为斜体

    我正在尝试使用 R 函数将行标签设置为斜体heatmap 2 没有默认选项 我无法通过设置找到解决方法par font 3 例如 如何将行标签设置为斜体heatmap 2 set seed 123 data matrix sample 10
  • 使用 R 绘图将目录添加到 PDF

    我正在 R 中创建大量绘图并将它们保存为 PDF 使用 grDevices pdf 有没有一种简单的方法可以在创建 PDF 时将 元数据 目录添加到 PDF 中 我并不是想添加一个单独的页面 而是添加一个 TOC 像 Preview app
  • 使用 dplyr::mutate 重新编码而不在函数中工作

    我正在尝试使用dplyr mutate across 重新编码 a 中的指定列tbl 单独使用它们效果很好 但我无法让它们在函数中工作 library dplyr library tidyr df1 lt tibble Q7 1 1 5 Q
  • 库存推文、文本挖掘、表情符号错误

    我希望您能够协助进行文本挖掘练习 我对 AAPL 推文感兴趣 并且能够从 API 中提取 500 条推文 我自己克服了几个障碍 但最后一部分需要帮助 由于某种原因 tm 包没有删除停用词 您能看一下可能是什么问题吗 表情符号会引起问题吗 绘
  • R:在 glm() 中的逻辑回归中预测 (0,1)

    我正在尝试在二进制 Logit 模型中模拟 假设 情况 我正在估计通过测试的概率 考虑到测试的难度级别 1 最简单 5 最难 并以性别为控制 数据是here http dl dropbox com u 1791181 bayesglm cs
  • 如何在 dbplyr 中使用自定义 SQL 函数?

    我想计算数据库中的 Jaro Winkler 字符串距离 如果我将数据带入 R 使用collect 我可以轻松地使用stringdist函数从stringdist包裹 但我的数据非常大 我想过滤 Jaro Winkler 距离before将
  • 在 dplyr tbl_df 中获取删除列的最佳实践

    我记得 2001 年 r help 上的一条评论说drop TRUE in data frame是 R 历史上最糟糕的设计决策 dplyr纠正这一点并且不会隐式删除 当尝试将旧代码转换为dplyr风格 这会引入一些讨厌的错误d 1 or d
  • 将数据帧的每一列乘以向量的相应值[重复]

    这个问题在这里已经有答案了 我有以下数据框和向量 dframe lt as data frame matrix 1 9 3 vector lt c 2 3 4 我想将每一列相乘dframe通过相应的值vector 这不会做 gt vecto
  • 包“diamonds”不可用(对于 R 版本 3.0.0)[重复]

    这个问题在这里已经有答案了 在我的 R 环境中拥有钻石包 数据集的简单方法是什么 我是使用 RStudio 3 0 的新手 gt install packages diamonds Warning in install packages p
  • dplyr 通过评估查找单元格值来改变特定列

    我已经使用定额 符号和求值探索了各种选项 但我似乎无法获得正确的语法 这是一个示例数据框 data frame A letters 1 4 B letters 26 23 C letters c 1 3 5 7 D letters c 2
  • R 中循环函数返回什么值

    我正在阅读 R 语言手册 想知道循环函数返回什么值 手册第 3 3 2 节循环中说 三个语句 for while repeat 中的每一个都返回最后计算的语句的值 循环语句的返回值始终为 NULL 并且是不可见返回的 那么返回什么值 NUL
  • R 数据框中的重复行

    我正在尝试使用下面的代码复制数据框中的行 但是 我发现它很慢 duprow df 1 for i in 1 2000 print i df rbind df duprow 有更快的方法吗 您可以使用rep 例如对于数据框第 1 行的 5 个
  • 我想将两个变量合并为一个具有日期格式的变量

    我有一个包含几个月的字符列的数据集 MONTH 和指示年份的数字列 YEAR 为了将其用作面板数据 我需要将这些结合起来YEAR and MONTH转换为日期格式的变量 我尝试过改变变量MONTH转换为数字格式 然后合并MONTH与柱YEA
  • 在ggplot2中设置base_size时重叠轴标签

    我正在改变base size via theme set 当我在屏幕上查看结果图时 它看起来很棒 但是 当我将其另存为 pdf 时 x 轴标签有点太接近轴编号 一件小事 theme set theme bw base size 9 不会造成
  • 在子目录中构建共享库

    我正在尝试构建一个使用一些 C 代码的 R 包 我有一个编译为可执行文件的 C 库 可以从命令行调用 有一个与之关联的 Makefile 我正在尝试获取信息here http cran r project org doc manuals R

随机推荐