stat_sum 和 stat_identity 给出奇怪的结果

2023-12-20

我有以下代码,包括随机生成的演示数据:

n <- 10
group <- rep(1:4, n)
mass.means <- c(10, 20, 15, 30)
mass.sigma <- 4
score.means <- c(5, 5, 7, 4)
score.sigma <- 3
mass <- as.vector(model.matrix(~0+factor(group)) %*% mass.means) +
  rnorm(n*4, 0, mass.sigma)
score <- as.vector(model.matrix(~0+factor(group)) %*% score.means) +
  rnorm(n*4, 0, score.sigma)
data <- data.frame(id = 1:(n*4), group, mass, score)
head(data)

这使:

  id group      mass    score
1  1     1 12.643603 5.015746
2  2     2 21.458750 5.590619
3  3     3 15.757938 8.777318
4  4     4 32.658551 6.365853
5  5     1  6.636169 5.885747
6  6     2 13.467437 6.390785

然后我想在条形图中绘制按“组”分组的“分数”的总和:

plot <- ggplot(data = data, aes(x = group, y = score)) + 
  geom_bar(stat="sum") 
plot

This gives me: enter image description here

奇怪的是,使用stat_identity似乎给出了我正在寻找的结果:

plot <- ggplot(data = data, aes(x = group, y = score)) + 
  geom_bar(stat="identity") 
plot

这是一个错误吗?在 R 上使用 ggplot2 1.0.0

platform       x86_64-pc-linux-gnu         
arch           x86_64                      
os             linux-gnu                   
system         x86_64, linux-gnu           
status                                     
major          3                           
minor          1.2                         
year           2014                        
month          10                          
day            31                          
svn rev        66913                       
language       R                           
version.string R version 3.1.2 (2014-10-31)
nickname       Pumpkin Helmet    

或者我做错了什么?


plot <- ggplot(data = data, aes(x = group, y = score)) + 
  stat_summary(fun.y = "sum", geom = "bar", position = "identity")
plot
aggregate(score ~ group, data=data, FUN=sum)
#  group    score
#1     1 51.71279
#2     2 58.94611
#3     3 67.52100
#4     4 39.24484

Edit:

stat_sum不起作用,因为它不只是返回总和。它返回“该位置的观测值数量”和“该面板中该位置的点的百分比”。它是为不同的目的而设计的。文档说“对于在散点图上过度绘制很有用。”

stat_identity(某种程度上)有效是因为geom_bar默认情况下堆叠条形。与我的解决方案相比,您有许多条形图彼此重叠,而我的解决方案每组只提供一个条形图。看这个:

plot <- ggplot(data = data, aes(x = group, y = score)) + 
  geom_bar(stat="identity", color = "red") 
plot

还要考虑警告:

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

stat_sum 和 stat_identity 给出奇怪的结果 的相关文章

  • 如何在R中创建for循环? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 R 编程中启动 for 循环 https stackoverflow com questions 4162363 how to start a for loop in r programmin
  • 使用 R Markdown 文档作为函数源

    我正在研究 R Markdown 来记录我经常使用的功能 我会将它们放入 R Markdown 文件中以记录它们 然后如果我几个月后回来查看它 就能够阅读我在函数背后的想法 我的问题是 如果我开始一个新的 R 项目 是否可以获取 r mar
  • 来自大型数据帧的共现

    我有一个数据框 其中包含有关每个用户访问过哪些城市的信息 df visited lt data frame user c john john claire claire doe doe city c Antananarivo Barcelo
  • 构造奎因(自我复制功能)

    有没有人构建过 quine 生成自己源文本的副本作为其完整输出的程序 http www nyx net gthompso quine htm http www nyx net gthompso quine htm 在 R 中 quine 标
  • 如何对范围内的行进行分组并考虑第三列?

    我有一个遗传数据集 我想对基因组中物理上靠近的遗传变异 行进行分组 我想对每条染色体基因组中某些点范围内的基因进行分组 chrom 我的 点 数据集包含变体 行需要在一定范围内的位置 如下所示 chrom low high 1 500 17
  • 使用矢量相应地更改传单线条的颜色

    无论如何 是否可以根据某些变量的值更改传单线条的颜色 我用谷歌搜索 发现了这个link http hgoebl github io Leaflet MultiOptionsPolyline demo 然而 我想知道是否有一种简单的方法可以在
  • ggplot2 中的中心图标题

    这个简单的代码 以及今天早上我的所有脚本 已经开始在 ggplot2 中给我一个偏离中心的标题 Ubuntu version 16 04 R studio version Version 0 99 896 R version 3 3 2 G
  • 在列标题和配对变量中嵌入数据的数据透视表

    假设我有这样的数据 不幸的是 变量值嵌入在列名称中 library tidyr library dplyr dat lt tribble group var1 var meta1 var2 var meta2 group1 5 2 cat
  • Matlab 中是否有相当于 R 的 dput() 的函数?

    Matlab 中是否有相当于 R 的 dput 的函数 dput 将 R 对象的 ASCII 文本表示形式写入文件或连接 UPDATE 1 添加了递归和对单元格的支持 UPDATE 2 添加了对结构的支持 UPDATE 3 增加了对逻辑 整
  • SparkR 和 Sparklyr 之间导入 parquet 文件所需的时间差异

    我正在使用 databricks 导入镶木地板文件SparkR and sparklyr data1 SparkR read df dbfs data202007 source parquet header TRUE inferSchema
  • ODE 时间 Matlab 与 R

    如果在 matlab 中使用可变时间步长求解器 例如 ODE45 我会定义输出的时间跨度 即times 0 50 matlab 将返回 0 到 50 之间不同时间步长的结果 然而在 R 中 我似乎必须定义我希望 ODE 返回结果的时间点 即
  • 如何在有条件的情况下获得R中多列的中位数(根据另一列)

    我是 R 初学者 我想知道如何完成以下任务 我想用数据集所有列的中位数替换数据集的缺失值 但是 对于每一列 我想要某个类别的中位数 取决于另一列 我的数据集如下 structure list Country structure 1 5 La
  • 在 R 中计算大矩阵的零空间

    我找不到任何函数或包来计算 a 的零空间或 QR 分解 bigmatrix from library bigmemory 在 R 中 例如 library bigmemory a lt big matrix 1000000 1000 typ
  • 是否可以创建根据输入对象名称自行命名的列表?

    能够创建 R 列表对象而无需指定每个元素的名称对我来说非常有帮助 例如 a1 lt 1 a2 lt 20 a3 lt 1 20 b lt list a1 a2 a3 inherit name TRUE gt b a1 1 1 a2 1 20
  • 如何比较数据框1的每一行与数据框2的每一行?

    我有两个数据框 如下所示 x data frame Name c 200003 200260 400826 400863 500710 Chr c chr1 chr1 chr2 chr3 chr3 Position c 11880 1441
  • 消除垂直线ggplot

    这个问题以前曾被问过 但答案并不总是明确或很复杂 我希望 ggplot2 的新版本能够带来更简单的解决方案 如何仅消除 ggplot 的垂直线而不消除轴刻度线或标签 这对于条形图来说确实很好 因为它可以消除图形中一些不必要的干扰 这里有一些
  • 更快地评估从右到左的矩阵乘法

    我注意到以二次形式评估矩阵运算右到左明显快于左到右在 R 中 取决于括号的放置方式 显然它们都执行相同的计算量 我想知道为什么会这样 这与内存分配有什么关系吗 A 5000 5000 B 5000 2 A matrix runif 5000
  • 从 SpatialPolygons 和其他 sp 类中提取要素坐标

    Package sp为不同的空间概念 点 线 多边形 提供了许多类 对于某些类 访问要素坐标很简单 例如SpatialLines 所有示例均取自相应课程的帮助页面 l1 cbind c 1 2 3 c 3 2 2 l1a cbind l1
  • 时间序列,将月度数据改为季度

    现在我有一些每月数据 例如 1 1 90 620 2 1 90 591 3 1 90 574 4 1 90 542 5 1 90 534 6 1 90 545 etc 如果我使用 ts 函数 很容易将数据转换为时间序列结构 例如 Jan F
  • 在并行包中的 R 的 par*apply 函数内部使用 Rcpp 函数

    我试图了解背后发生的事情Rcpp sourceCpp 调用并行环境 最近 问题中部分解决了这个问题 在 Windows 上使用 parLapply 中的 Rcpp 函数 https stackoverflow com questions 2

随机推荐

  • 在 Eclipse IDE 中调试 Java 时将异常捕获为表达式

    Java 开发人员的日常调试情况是抛出异常 然后您需要深入调试器以找出抛出异常的原因 通常 您会尝试在引发异常之前设置一些断点 并希望能够确定导致该异常的情况 在 Eclipse 中 断点可以定义一个表达式 仅当变量 x 等于值 y 时才会
  • 您的 Xcode 版本对于您的 iOS 版本来说可能太旧

    我已将手机的操作系统版本更新至 iOS 14 并于今天将 Xcode 更新至版本 12 但是当我尝试通过 Android Studio 在 iPhone 11 iOS 14 上构建 Flutter 应用程序时 出现以下错误 Your Xco
  • 如何访问 Wasm (Rust) 中的 JS 对象属性?

    我正在使用 wasm bindgen 并且有以下功能 wasm bindgen pub fn obj o JsValue console log 1 o 在js中我调用这个函数obj name john 它工作得很好 但是当我尝试时cons
  • MS Access 找不到项目或库错误

    我正在开发一个专为我使用而构建的访问数据库 我熟悉编写 VBA 代码来执行功能 但是 我根本不熟悉调试某些错误 数据库中有一个表单 允许我清理和操作我可以从计算机中选择的文件中的数据 它使用一个文件夹作为主根来查看我向表单提供该文件夹中文件
  • 如何让 Spotlight 更容易找到自定义 iOS 应用

    我在我的设备上编写了很多小测试应用程序 我可以将一些元数据添加到应用程序中 以便它更容易出现在 Spotlight 搜索中吗 例如 我制作了一个名为 Lavado 的洗衣计时器应用程序 当我搜索 计时器 或 洗衣房 时 可以使其出现在 Sp
  • 导入函数中的 __globals__ 与主模块中函数的 __globals__ 有很大不同

    File a py def f pass File main py import a print f globals print a f globals def g pass print g globals print g globals
  • VB.NET 中的控件数组

    如何在 VB NET 中制作按钮的控件数组 就像在 Visual Basic 6 0 中一样 语法有可能像下面这样吗 dim a as button for each a as button in myForm a text hello n
  • 如何将 JOptionPane 转换为 JDialog

    我需要将 JOptionPane 转换为 JDialog 因为我需要摆脱那个古怪的 确定 按钮 下面是代码 JOptionPane showMessageDialog null Interface caption JOptionPane W
  • 列出字典中以<用户输入>开头的所有单词

    如何编写一个程序 让用户输入一个字符串 然后该程序生成一个以该字符串开头的单词列表 Ex 用户 和 方案 退位 收腹 绑架 Thanks 编辑 我正在使用 python 但我认为这是一个相当独立于语言的问题 Use a trie http
  • 在 C++ 中将枚举值映射到字符串

    有没有办法在运行时将枚举的值映射到名称 我正在与 GCC 一起构建 我知道 GDB 可以做到这一点 并且我愿意使用一些不可移植且会破坏调试数据的东西 Edit 我正在寻找一种解决方案 不需要修改原始枚举声明 也不需要手动复制映射函数中的所有
  • 在 C# 中,如果一个类或方法没有标记为 seal 或 virtual,那它是什么?

    换句话说 默认值是什么 如果没有指定 我猜默认是虚拟的 因为即使基本方法没有指定虚拟 您也可以使用 new 关键字来覆盖基本方法 如果是这样的话 那么为什么我们还需要虚拟选项呢 当我们确实需要防止进一步继承时 我们难道不能只使用 Seale
  • 如何使用循环创建字符串向量?

    我正在尝试使用循环在 R 中创建字符串向量 但遇到了一些麻烦 我将不胜感激任何人可以提供的任何帮助 我正在使用的代码更详细一些 但我尝试在这里编写一个可重现的示例 该示例捕获了所有关键位 vector1 lt c 1 2 3 4 5 6 7
  • Uploadify不传递变量,Session问题?

    出于对 pete 的热爱 我无法让它接受任何变量到我的 SQL 数据库中 如果我输入静态信息 它就会起作用 我似乎无法通过 scriptdata 传递任何参数 这使得它更具挑战性 因为我在顶部使用 smarty 模板系统 我正在尝试这样做
  • 如何在asp.net mvc中的url中追加字符串?

    设想 我的网址采用以下模式 本地主机 8080 专辑 routes MapRoute name AlbumHome url Albums albumName defaults new controller Albums action Ind
  • 如何通过子项更改父项样式:LESS 中的悬停操作

    我有这个较少的设置 wrapper parent height 100px children some style hover parent height 150px 我需要通过将鼠标悬停在其中的某个子元素上来更改父元素的高度 这段代码不起
  • 如何在 cygwin 上安装 gcc?

    uname r 2 9 0 0 318 5 3 安装 cygwin 后 我的路径上没有 gcc 或 g 命令 我需要安装哪些软件包才能获取此命令 Ok 您应该启动 cygwin setup x86 64 exe 的安装程序 如果您已将其从计
  • then 语句中的异步 Mongoose 回调

    我在使用承诺和异步调用时遇到问题Mongoose 这是我的代码 req checkBody BookManager SCHEME req getValidationResult then function result if result
  • 如何获取 Jenkins 登录用户

    我需要将记录的用户 ID 信息获取到 Jenkins 插件中 我创建了 HelloWorldclass 它扩展了 hudson tasks Builder 类来创建插件 从这个课程中 我试图在执行方法中获取登录用户 我尝试了各种选项 但无法
  • 如果适配器中的所有项目都显示,则隐藏自定义搜索栏

    我遇到的问题是listView getLastVisiblePosition总是返回 1 所以我无法隐藏searchView 我在设置后立即检查这一点adapter在我尝试放置它的任何地方它仍然返回 1 我在中没有看到Docs http d
  • stat_sum 和 stat_identity 给出奇怪的结果

    我有以下代码 包括随机生成的演示数据 n lt 10 group lt rep 1 4 n mass means lt c 10 20 15 30 mass sigma lt 4 score means lt c 5 5 7 4 score