每组加权geom_密度的密度总和为1

2023-12-03

使用加权数据时,如何对密度图进行分组并使每组的密度总和为 1?

The ggplot2帮助geom_density()建议使用加权数据的技巧:除以权重之和。但是当分组时,这意味着各组的组合密度总计为 1。我希望每个组的密度总计为一个。

我发现了两种笨拙的方法来做到这一点。第一个是将每个组视为一个单独的数据集:

library(ggplot2)
library(ggplot2movies) # load the movies dataset

m <- ggplot()
m + geom_density(data = movies[movies$Action == 0, ], aes(rating, weight = votes/sum(votes)), fill=NA, colour="black") +
    geom_density(data = movies[movies$Action == 1, ], aes(rating, weight = votes/sum(votes)), fill=NA, colour="blue")

明显的缺点是手动处理因素水平和美观。我还尝试使用的窗口功能data.table包为每个操作组的总票数创建一个新列,然后除以该列:

movies.dt <- data.table(movies)
setkey(movies.dt, Action)
movies.dt[, votes.per.group := sum(votes), Action]
m <- ggplot(movies.dt, aes(x=rating, weight=votes/votes.per.group, group = Action, colour = Action))
m + geom_density(fill=NA)

有更简洁的方法来做到这一点吗?由于我的表的大小,为了使用频率,我宁愿不按行的权重来复制行。


Using dplyr

library(dplyr)
library(ggplot2)
library(ggplot2movies)

movies %>% 
  group_by(Action) %>% 
  mutate(votes.grp = sum(votes)) %>% 
  ggplot(aes(x=rating, weight=votes/votes.grp, group = Action, colour = Action)) +
  geom_density()

graph output by the code

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

每组加权geom_密度的密度总和为1 的相关文章

  • 如何向 ggplot 标题和标题添加图标?

    现在我正在尝试将图标放入 ggplot 可视化中 为此 我在网上检查了一些教程 当我运行 Claus Wilke 的以下代码示例时 library ggtext library ggplot2 ggplot mtcars aes mpg d
  • 按钮:带滚动条的下载按钮仅下载几行

    我正在处理超过 100 000 行的表并使用DT包裹 开发版本0 1 56 在 Shiny App 中将其可视化 此外我正在使用DT扩展如下 Buttons 下载不同格式的数据 然而虽然Scroller扩展程序也已激活 我只能下载几行 不是
  • 如何在Shiny中引用ui.R中的反应元素

    我正在使用 ShinyDND 包制作一个具有拖放功能的应用程序 我想将输入中的列表作为 DragSetUI 的参数传递 该函数需要在 ui R 中运行 我尝试了renderUI和uiOutput 它几乎可以工作 但是拖动的元素无法放置在放置
  • 使用 data.table 而不是 data.frame 进行子集化

    我正在处理一个包含 300 万行和 10 列的数据框 并且正在对其进行一些子集化 我下面有一些玩具代码 当我子集化时 需要很长时间 如果我使用 data table 和 data table 上的子集会更快吗 这是一些玩具代码 s lt c
  • 从 R 文本中提取网站链接

    我有多个文本 每个文本都可能包含对一个或多个网络链接的引用 例如 text1 s 1212a as www abcd com asasa11 我如何提取 www abcd com 来自 R 中的这段文字 换句话说 我希望提取以www并结束于
  • 如何为每个条形图制作具有定义水平边框的堆叠条形图

    我有一些数据想以一种我不知道如何在条形图中显示的方式 希望你能帮我解决这个问题 我的表由 4 列组成 簇 0 6 IgG Status mild high mild low Severe High 患者 1 16 和值 每个簇的标准化值 这
  • 如何在函数和循环中使用 data.table?

    在评估效用时data table vs dplyr 一个关键因素是在函数和循环中使用它的能力 为此 我修改了本文中使用的代码片段 data table 与 dplyr 一个可以做得很好而另一个不能做或做得很差吗 https stackove
  • 是否可以旋转 R 中的绘图(基本图形)?

    我搜索了这个 发现使用 grid 有多种方法可以旋转图像 并且对于某些绘图 您可以使用它们的旋转 例如plot x y 而不是plot y x 不过我想知道是否有R 中旋转绘图的通用方法 适用于基础图形中生成的任何绘图 您可以导出图形 将其
  • 将缺失的行添加到数据表中

    我有一个数据表 library data table f lt data table id1 c 1 2 3 1 2 3 id2 as factor c a a b c b d v 1 6 key c id1 id2 id1 id2 v 1
  • 如何使用键盘命令中断 R 中正在运行的代码?

    如何中断 R 中正在运行的脚本 假设我遇到无限循环或其他问题 并且我想停止脚本运行 有键盘命令可以做到这一点吗 如果有帮助的话 在 Python 中是 Ctrl c 我在R中尝试过 但没有成功 自我回答 几乎是其他人的评论和答案的总结 In
  • 在 R 中绘制决策树(插入符)

    我已经训练了一个数据集rf方法 例如 ctrl lt trainControl method LGOCV repeats 3 savePred TRUE verboseIter TRUE preProcOptions list thresh
  • rgdax(coinbase)数据未按预期收集数据

    我正在尝试使用rgdaxR 包用于下载一些历史价格 我设置了 API 密钥等 并尝试在过去 24 小时内加载 start lt strftime Sys time Y m dT H M SZ tz UTC end lt strftime S
  • 如果在循环中调用summary()命令,如何获得它的输出?

    Suppose Z是特征名称的向量 如何让以下 Rscript 中的摘要命令实际打印 for var in Z cat i form paste crim var lm fit lm form data Boston summary lm
  • R中的预测和预测函数之间的区别

    两者之间有什么区别吗predict and forecast R 中的函数 如果是 在哪些具体情况下应该使用它们 Intro predict 适用于多种 R 对象 模型 基础库的一部分 forecast 对于时间序列 预测包的一部分 参见示
  • 在 R 中根据时间序列数据制作 3D 曲面

    我有一个大型数据集 我想从中制作 3D 表面 我希望 x 轴为日期 y 轴为时间 24 小时 z 轴 高度 为我的值 我是 R 初学者 所以越简单越好 http www quantmod com examples chartSeries3d
  • R:从本地 tar.gz 安装 R 软件包时找不到“make”

    R 包ConvCalendar不再位于 Cran 存储库中 请参阅here https cran r project org web packages ConvCalendar index html 然而 因为我在之前的项目中大量使用了这个
  • 使用 by 参数连接 data.table

    我有两个数据表dx and dy dx lt data table a c 1 1 1 1 2 2 b 3 8 dy lt data table a c 1 1 2 c 7 9 我要参与dy到每一行dx 下面是所需的输出 data tabl
  • 替换因子列中的

    我想更换
  • 在 R 中编写多重积分函数

    为了将以下内容转换为函数 我想知道如何用 R 代码编写以下二重积分 bar x mu 假设pi0 and pi1以向量化方式实现函数 pi 0 和 pi 1 可能的解决方案是 integral lt function n mu s pi0
  • 是否有 R 函数可以将这些数据从长形重塑为宽形?

    数据现在看起来如何 Coach ID Student score 1 A 8 1 B 3 2 A 5 2 B 4 2 C 7 看起来像这样 Coach ID Student score student 2 score 2 student 3

随机推荐

  • 在c++中计算unicode字符

    你怎么数unicodeC 中 UTF 8 文件中的字符 也许如果有人愿意向我展示一种 独立 方法 或者使用一个简短的例子http icu project org index html EDIT 一个重要的警告是 我需要建立每个字符的计数 所
  • 从 Storyboard 投射到子类

    想象一下我有一个 BaseViewController 然后我有 2 个场景 新建和编辑 两者共享相同的 UI 和大部分逻辑 所以我创建了类 NewViewController 和 EditViewController 子类化 BaseVi
  • 如何知道 exec 函数中的命令错误?

    我正在使用 ffmpeg 命令通过 php 中的 exec 函数来剪切视频 但它没有创建视频文件 也没有显示任何错误 我使用了 exec 如下 exec ffmpeg i input flv ss 00 00 30 0 t 00 00 10
  • 在初始化之前从根状态调用 connectOutlets?

    http jsfiddle net pauldechov 89S5p 在 root 的 connectOutlets 中 App似乎仍然不 initialize d connectOutlets 不适合与根状态一起使用吗 为什么 如果我每次
  • 在 Swift 3 通知中心观察者中使用选择器

    NotificationCenter default addObserver self selector Selector uploaded name NSNotification Name rawValue uploaded object
  • 如何使用组合框过滤Datagridview而不更改数据源

    我正在使用 Windows 窗体编写一个程序 并且我已经构建了一些代码 如下所示 在文本框中写入站点 URL 然后单击 开始 按钮 匹配的数据将显示在 DataGridViews 中 我有 6 个 DataGridView 在第一个 Dat
  • 错误添加SceneBuilder快捷链接后如何将Scene Builder添加到Intellij

    所以我安装了Intellij第一次 我错误地链接了场景构建器快捷方式链接到FXML文件并不断收到此错误 IntelliJ failed to start scene builder 经过大量搜索后 我无法找到如何重置SceneBuilder
  • ggplot2 轴文本的奇怪理由

    我遇到了一个奇怪的轴文本对齐问题 如下图所示 您可能需要放大图像才能看到问题 正如您所看到的 x 轴文本绘制在刻度线的下方 y 轴文本绘制在刻度线的左侧 并且刻度线本身遍布各处 可能导致此行为的原因是 也许更重要的是 可以采取什么措施来避免
  • 浏览器会短暂显示没有样式的页面(视觉故障)

    我观察到 Internet Explorer 7 或 8 没关系 很少会显示我们的网页 www epsitec ch 短时间内不应用CSS 布局看起来完全被破坏了 所有内容都从上到下按顺序显示 当页面加载完成后 所有内容终于正确显示 我们的
  • Python 分割字符串并打乱中间的内容

    我在使用 python 程序时遇到问题 我需要该程序混淆单词的中间 同时保持外部两个字母完好无损 我相信我已经成功地将单词分成三个不同的部分 我只是不能弄清楚我应该如何打乱单词的中间部分 word input Enter a word fi
  • 使用 boost 函数进行 SolrNet 查询

    我正在尝试使用这个库 看起来非常好 但我很难理解如何向我的查询添加额外的参数 例如升压函数等 如何做到这一点 您可以使用 QueryOptions 的 ExtraParams 属性将任何参数添加到 Solr 查询字符串 例子 ISolrOp
  • 单击表单中的按钮会导致页面刷新

    我有一个 Angular 表单 其中有两个按钮标签 一键提交表单ng click 另一个按钮纯粹用于导航ng click 然而 当单击第二个按钮时 AngularJS 会导致页面刷新 从而触发 404 我在函数中放置了一个断点 它正在触发我
  • 如何在 stringi 包中使用反向引用?

    在 R 中我可以使用 1引用捕获组 但是 当使用 stringi 包时 这不会按预期工作 library stringi fileName lt hello you lst fileName lt stri replace first re
  • 从数据库中检索一百万条记录

    有一个数据库 它的表中大约包含 200 万条记录 我从我的java代码中运行了查询 就像这样 select from table 它将从结果集中的数据库中获取完整的数据 或不 如果是 那么它将如何工作 我想了解此检索的工作原理 请告诉我 我
  • 防止 const 成员函数更改成员数组

    显然 const 成员函数仍然允许更改类成员指向的数据 这是我的意思的一个例子 class MyClass public MyClass int getSomething const private int data data new in
  • 如何在带有子图的绘图中设置辅助x轴及其范围?

    有谁知道如何在绘图中设置辅助 x 轴及其范围 我试图在这里显示垂直直方图 但它目前仍然太小 垂直直方图 import pandas as pd import numpy as np import plotly graph objects a
  • 如何修复 PHONE GAP 中 Android 设备的粘性页脚?

    我在 Phone Gap 工作 我修复了页脚 这适用于少数设备 但不适用于少数设备 页脚的 HTML 代码 div style background image url img bottom bar png class footer div
  • 什么时候会在 C# 中使用委托? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 您在 C 中如何使用委托
  • 在 XSLT 中创建一个简单的模式弹出窗口

    我正在构建一个样式表 表中有一些成员 我想要的是 当我单击每个会员时 会打开一个弹出模式窗口 其中包含 XML 文件中的该会员数据 我可以使用会员 ID 作为参考 我尝试使用 fancybox http fancybox net 但问题是
  • 每组加权geom_密度的密度总和为1

    使用加权数据时 如何对密度图进行分组并使每组的密度总和为 1 The ggplot2帮助geom density 建议使用加权数据的技巧 除以权重之和 但是当分组时 这意味着各组的组合密度总计为 1 我希望每个组的密度总计为一个 我发现了两