在两个 ggplot 直方图上显示平均值和中位数

2023-12-02

我是新的 stackoverflow 用户,目前无法对原始帖子发表评论来提问。我发现了以前的 stackoverflow 答案(https://stackoverflow.com/a/34045068/11799491),我想知道如何在此图表中添加两条垂直线(组的平均值和组的中位数)。

enter image description here

我的尝试:我不知道如何添加组变量“type”

geom_vline(aes(xintercept = mean(diff), ), color="black") + 
geom_vline(aes(xintercept = median(diff), ), color="red") 

有几种不同的方法可以做到这一点,但我喜欢创建一个单独的汇总数据框,然后将其传递到 geom_vline 调用中。这使您可以分析结果,并可以轻松添加按类型自动排序和着色的多行:

library(tidyverse) 

df <-
  tibble(
    x = rnorm(40),
    category = rep(c(0, 1), each = 20)
  )

df_stats <-
  df %>% 
  group_by(category) %>% 
  summarize(
    mean = mean(x), 
    median = median(x)
  ) %>% 
  gather(key = key, value = value, mean:median)

df %>% 
  ggplot(aes(x = x)) +
  geom_histogram(bins = 20) +
  facet_wrap(~ category) +
  geom_vline(data = df_stats, aes(xintercept = value, color = key))

enter image description here

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

在两个 ggplot 直方图上显示平均值和中位数 的相关文章

  • 无法使用 R 中的 Quantmod 从雅虎财经下载数据

    我正在尝试使用以下代码从雅虎下载数据 library quantmod getSymbols WOW auto assign F 过去 这对我来说在任何场合都有效 除了现在 在我的小组作业到期前 5 天 但现在我收到此错误 Error in
  • 调整 R 图的边距

    我对调整 R 图的边距很感兴趣 我在 MacOS 上使用 R Studio 在 2013 intel CPU Macbook pro 上运行 这是我用于生成绘图的数据 spins lt runif 50 min 0 max 50 这是我用来
  • 提取数据框中值前后的 n 行

    我有一个数据框 其中包含某些值Mark柱子 我想提取n标记出现之前和之后的值 包括带有标记的行 我通过使用找到我需要的值indices lt which df Mark 1 where 1是我正在寻找的价值 现在我需要例如之前 5 行和之后
  • 通过在 R 中填充 NA - 使栅格达到相同程度

    我有几个具有不同几何形状 轮廓的裁剪栅格 具体而言 同一田地的几年的空间产量图 但范围有所不同 测量并不总是整个田地的整体 但在某些年份只是其中的一部分 我想计算这些地图的平均值并将它们组合成一个平均值栅格 然而 这确实意味着 假设 5 层
  • 将误差线添加到多条线上以在 R 中的绘图上显示标准差

    我有一个包含许多不同线条的图 我想为每条线上的每个点添加误差线 df lt matrix runif 25 5 5 plot 1 5 seq 0 1 1 4 type n mapply lines as data frame df col
  • 如何更改 ggplot2 中轴标签上的小数位数?

    具体来说 这是在facet grid 中 在谷歌上广泛搜索了类似的问题 但不清楚语法或它的去向 我想要的是 y 轴上的每个数字在小数点后都有两位数 即使尾随一位是 0 这是scale y continuous 或 element text
  • 如何使用 purrr::pmap 在nested.data.frame中绘制多个ggplot

    我对 purrr pmap 在nested data frame中制作多个ggplot图有一些疑问 我可以使用 purrr map2 毫无问题地运行下面的代码 并且可以在nested data frame中制作多重图 2个图 作为示例 我在
  • 如何从闪亮模块调用闪亮模块?

    如何从闪亮模块中调用闪亮模块并传递第一个模块中的选择 作为一个例子 我编写了一个应用程序来显示星球大战主题dplyr在 DT data 表中 模块StarWars 来自同一数据集的相关电影应显示在另一个子选项卡 模块电影 的另一个 DT d
  • 如何在Shiny中默认选择verbatimTextOutput中的文本?

    这是与我之前的问题相关的问题 是否可以有固定宽度的 verbatimTextOutput 并让文本在 Shiny 中换行 https stackoverflow com q 58516071 7669809 我有以下闪亮的应用程序 http
  • R 因子变量之间的相关性

    我想知道是否有一种简单的方法来识别与另一个变量 100 相关的特征 因子变量 因此 在示例中 该过程将匹配 颜色 和 车辆 以及 植物 和 高度 color lt c black black blue blue yellow vehicle
  • 在 R 中提取模式/分隔符之间的字符串

    我的变量名称格式如下 PP Sample 12 GT or PP Sample 17 GT 我正在尝试使用字符串拆分来 grep 出中间部分 即Sample 12 or Sample 17 但是 当我这样做时 IDtmp lt sapply
  • 在 R 中将列表列表转换为数据帧:Tidyverse 方式

    我正在寻找将列表列表转换为 R 中的数据帧的 Tidyverse 方法 Create a list of lists a lt seq 1 10 1 b lt seq 1 20 2 Function to calculate the sum
  • 如何调整ggplot2中的标题位置

    这是代码 require ggplot2 require grid pdf a pdf png a png a lt qplot date unemploy data economics geom line opts title A b l
  • 在字符串中每个字母后面添加数字

    我有几个具有固定格式的字符串 格式为一个字母后跟一个数字 例如 A3B1C7D1 但是 如果字母后面的数字为 1 则字符串将写为 A3BC7D 我想做的是插入数字 1 然后将字符串转换为A3BC7D to A3B1C7D1 我的示例数据是
  • 按行重塑矩阵

    我有一个大小为 18000 x 54 的矩阵 我想将其重塑为大小为 54000 x 18 的矩阵 其中初始矩阵的每一行都变成一个有 3 行的矩阵 让我们举个例子 我有一个矩阵如下 a matrix 1 18 nrow 2 ncol 9 by
  • rpy2 在从 R 到 Python 的数据帧中处理 NA/缺失值时出现问题

    我在使用rpy2包进行转换时遇到问题dataframe将 R 中的内容保存到 Python 中 import os os environ R HOME Library Frameworks R framework Resources imp
  • 添加带有错误的弹出窗口,警告闪亮

    有什么办法可以添加一个popup 可关闭的窗口 其中包含警告或其他消息Shiny 我用来构建 Web 应用程序的 R 包 我已经寻找了一段时间但没有任何结果 虽然我不认为有任何本地可用的东西shiny 你可以尝试添加jQueryUI到您的应
  • 使用变量在 r 中像 aes_string 一样选择轴

    我试图提供一个带有列名的变量来创建一个plotly图表 类似于ggplot2 aes string 不知怎的 我被困住了 plot ly iris x Sepal Length y Sepal Width works as expected
  • 如何减小 R Plot 中图例的大小,同时仍使其可读?

    我试图用 R 中的两个 y 轴绘制多年来的一些数据 但是 每当我尝试包含图例时 图例就会主导我的绘图 当我使用其他地方建议的解决方案时 例如keyword和 或使用cex论据 在另一篇文章中建议here https stackoverflo
  • Shiny 中的模态对话框:可以调整宽度但不能调整高度

    在我的 Shiny 应用程序中 我有几个来自闪亮BS 包的模式窗口 我可以像这样调整这些模式窗口的宽度 tags head tags style HTML modal lg width 1200px abs 1 background col

随机推荐

  • Java 到 JSP - 如何将 Java 应用程序集成到 JSP 网页中?

    好吧 这肯定是今天最简单的问题了 这是我第一次尝试 Java 和 JSP 我刚刚使用 Eclipse 编写了一个小型 Java 应用程序 现在我想将这个小应用程序提供到网页中 我需要弄清楚Java应用程序和网页之间的联系 这是我的申请 pu
  • Putty - 使用 C# 动态删除文件

    我正在开发一个使用 C 作为编程语言的 Windows 应用程序 要求是 动态登录putty 从特定位置删除旧文件 我目前正在使用下面的代码登录 Putty 但如何运行删除命令 string hostname hostname string
  • Plotly:更新菜单的按钮实际上是如何工作的?

    我为什么想知道 这似乎是一个非常简单的问题 但我在使用下拉菜单编辑具有多个轨迹的图形时遇到了一些困难 所以我真的很渴望确保我理解plotlys下拉菜单 更新菜单和按钮的内部工作原理100 正确 因此 如果有人能抽出时间来看看下面的示例 那就
  • 使用 sscanf 读取带空格的字符串

    对于一个项目 我试图从字符串中读取一个 int 和一个字符串 唯一的问题是sscanf 似乎打破了阅读 s当它看到一个空格时 有什么办法可以绕过这个限制吗 这是我正在尝试做的一个例子 include
  • 反序列化不一致的 JSON 属性

    希望有人可以帮助我解决我尝试使用 Newtonsoft Json 反序列化的大型 JSON 文件中出现的以下不一致问题 对象的属性之一有时会显示为 roles field1 value field2 value 而其他时候 相同的属性显示为
  • Ionic Framework/Cordova 上的 Google 地图不适用于 Android 构建

    我一直在为一个应用程序编写代码来跟踪用户位置并使用谷歌地图显示它 我的代码在浏览器 Safari Firefox Chrome 中完美运行 但在移动设备 android 上根本不起作用 谷歌地图 API 不起作用 导航也不可靠 我是一个离子
  • Discord 机器人如何处理来自多个服务器的事件

    我正在为我的服务器使用discord py 重写分支 开发一个discord 机器人 我需要邀请该机器人到多个服务器并同时使用它 我的问题是 我是否需要为每台服务器设置一个新线程 或者机器人是否对事件进行排队并一一处理它们 如果它确实对它们
  • 将文件作为输入流加载的不同方法

    有什么区别 InputStream is this getClass getClassLoader getResourceAsStream fileName and InputStream is Thread currentThread g
  • 选择不同...内连接与选择...其中 id in (...)

    我正在尝试创建表的子集 作为物化视图 定义为在另一个物化视图中具有匹配记录的记录 例如 假设我有一个包含 user id 和 name 列的用户表 以及一个包含entry id user id activity 和 timestamp 列的
  • Google BigQuery 中的多级数据透视

    是否可以使用 BigQuery 在一个查询中执行以下数据透视 或者我需要将其分解为多个查询 这是原始数据 这是数据透视表 有没有办法在 BigQuery 中构造任意嵌套的数据透视表 或者每个级别都需要自己的 SQL 查询吗 请注意 在上面
  • namespace myspace { int x } 现在为什么 `myspace::x=3;` 给出错误?

    Code include
  • 如何使用vb6检查当前键盘的语言?

    如何使用 vb6 检查当前键盘的语言 IF Is it the English language Then Msgbox EN End IF 我正在使用这个未经充分测试的片段 Private Const LOCALE SISO639LANG
  • Headless LibreOffice 在 Windows 上导出为 PDF 非常慢(比 Linux 慢 6 倍)

    我经常需要使用 LibreOffice 将许多 gt 1000 docx 文档导出为 PDF 这是一个示例文档 测试 docx 以下代码可以工作 但在 Windows 上速度相当慢 每个 PDF 文档平均 3 3 秒 import subp
  • Management Studio 和 TableAdapter 之间存储过程的执行时间差异很大

    对于相同的输入 存储过程如何通过 Management Studio 在 10 秒内运行 但通过 TableAdapter 需要 15 分钟 它是可重复的 这意味着我在每个环境中至少运行了 3 次 并且 Management Studio
  • Java Netty负载测试问题

    我使用文本协议编写了 接受连接和轰炸消息 100 字节 的服务器 并且我的实现能够使用第 3 方客户端发送大约 400K 秒的环回消息 我为这项任务选择了 Netty SUSE 11 RealTime JRockit RTS 但是当我开始基
  • 计算数组中的个数

    我试图在 Verilog 中计算 4 位二进制数中 1 的数量 但我的输出是意外的 我尝试了几种方法 这是我认为应该有效的方法 但事实并非如此 module ones one in input 3 0 in output 1 0 one a
  • 如何在数据库优先方法中进行迁移

    我正在使用实体框架数据库优先方法 并想知道如何管理数据库优先方法中的迁移 我们正在手动更改数据库架构 实体框架有什么方法可以将更改相应地应用到项目中 我想我首先对代码感到困惑existing database and database fi
  • 相当于 Android Studio 中的 Clean & build?

    今天 当从 Android Studio 运行应用程序时 它不是根据我的最新代码构建的 我找了一个清洁和构建选项 但我找不到 所以我的问题是 Android Studio 相当于什么清洁和构建 Android studio是基于Intell
  • 使用远程 FTP 原子包和私钥发出与服务器的连接

    我正在尝试使用原子包 Remote FTP 并使用私钥连接到我的服务器 我在服务器上设置了 SSH 密钥 并且可以使用 putty 成功连接 私钥保存在我的项目文件夹中 并且我有一个现有的 ftpconfig 文件 没有私钥 当我替换文件内
  • 在两个 ggplot 直方图上显示平均值和中位数

    我是新的 stackoverflow 用户 目前无法对原始帖子发表评论来提问 我发现了以前的 stackoverflow 答案 https stackoverflow com a 34045068 11799491 我想知道如何在此图表中添