为什么 ggplot 不允许抑制其 geoms 生成的消息?

2023-12-23

The geom_density_ridges几何从ggridges包创建了山脊线,如果未指定带宽,它会尝试找到一个合理的值。然后它使用base R message报告该值的函数(参见https://twitter.com/ClausWilke/status/921363157553172480 https://twitter.com/ClausWilke/status/921363157553172480).

The baseR函数suppressMessages函数旨在抑制此类消息。例如,此代码输出一条消息:

message('This is a message');

这段代码什么也没输出:

suppressMessages(message('This is a message'));

然而,由于某种原因,当将此 geom 添加到 ggplot 时,消息的抑制似乎被抑制了。下面的代码does仍然产生一条消息:

require('ggplot2');
require('ggridges');
suppressMessages(ggplot(Orange, aes(x=age,y=Tree)) + geom_density_ridges());

(具体来说, ”Picking joint bandwidth of 319".)

为什么是这样?做ggplot采取什么措施来确保无论用户的规格如何,消息都能通过?或者这实际上是明智的行为,只是我碰巧不知道?

生成 RMarkdown 报告时,chunk 选项message可以设置为message=FALSE,它会抑制渲染级别的所有消息。由于这是我的用例,我的问题就解决了。

正如克劳斯·威尔克(Claus Wilke)一样,ggridges包,建议,您可以随时设置bandwidth手动以避免消息(https://twitter.com/ClausWilke/status/921361195231215616 https://twitter.com/ClausWilke/status/921361195231215616).

But whysuppressMessages首先压制该消息?

这是我碰巧不知道的预期行为吗?


你打电话时ggplot(),该命令实际上并不绘制绘图 - 它创建一个 ggplot 对象。只有当该对象被打印时,才会真正绘制出绘图。当您在 R 控制台中键入表达式时,默认行为是调用print()关于结果,这就是为什么它看起来像ggplot()绘制一个情节。

请注意,您遇到的警告不会在创建 ggplot 对象期间发生;它们发生在该对象的打印过程中。所以如果你跑

suppressMessages(ggplot(...))

这本质上是一样的

print(suppressMessages(ggplot(...)))

在交互模式下运行 R 时。但由于没有消息生成ggplot(),没有任何内容被抑制,并且在打印结果对象时这些消息仍然出现。要抑制打印期间创建的消息,您需要包装实际的消息print()声明与suppressMessages().

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

为什么 ggplot 不允许抑制其 geoms 生成的消息? 的相关文章

  • rgdax(coinbase)数据未按预期收集数据

    我正在尝试使用rgdaxR 包用于下载一些历史价格 我设置了 API 密钥等 并尝试在过去 24 小时内加载 start lt strftime Sys time Y m dT H M SZ tz UTC end lt strftime S
  • R中的预测和预测函数之间的区别

    两者之间有什么区别吗predict and forecast R 中的函数 如果是 在哪些具体情况下应该使用它们 Intro predict 适用于多种 R 对象 模型 基础库的一部分 forecast 对于时间序列 预测包的一部分 参见示
  • mutate() 尝试在使用美元符号运算符时使用全局变量的值进行提取

    我使用得到了有趣的结果mutate with a 当全局环境中碰巧存在与要提取的元素同名的变量时进行提取 我正在运行 R 3 1 3 和 dplyr 0 4 3 9 这工作正常 library dplyr df lt data frame
  • r - 根据第一个向量重新排序第二个向量

    寻找解决方案来执行以下操作 有两个向量 a lt c 2 1 3 4 7 6 5 9 8 10 b lt c 3 2 1 6 5 4 7 8 9 10 我想创建第三个向量 它给出向量的顺序b需要重新排序 使其顺序与a 在这种情况下我想得到
  • dplyr:取消选择由给出的列

    如何取消选择中给出的列 自写函数的参数 我还需要在另一点选择列 因此只需使用 in 没有解决我的问题 任何解决方案表示赞赏 select 帮助者 操纵者quosures或表达方式 very simple example data test
  • 在ggplot2中绘制大多边形地图的小区域

    我有一个 shapefile 我使用它在 ggplot2 中进行了强化和绘制geom polygon 我怎样才能只绘制这张地图的一小部分区域 我的完整地图看起来不错 但我的小区域很混乱 这是一个工作示例 这个小形状文件可以从以下位置获得 h
  • magrittr 管道中的 WOE

    如何将下面的证据代码权重放入 magrittr 管道中 df gt 我尝试过的一切似乎都不起作用 df library Information library magrittr df a c aa bb cc aa aa aa bb cc
  • 使用 ggplot 绘制函数,相当于 curve()

    是否有使用绘制函数的等效方法ggplot to the curve 基础图形中使用的命令 我想另一种选择是创建一个函数值向量并绘制一条连接线 但我希望有更简单的东西 Thanks 您可以使用以下命令添加曲线stat function ggp
  • 如何测试字符串中的前三个字符是r中的字母还是数字?

    下面给出了我拥有的数据集的示例 请注意 总数据集中我有超过两列 ID X 1 MJF34 2 GA249D 3 DEW235R 4 4SDFR3 5 DAS3 我想测试 X 中的前三个字符是否是字母 如果是 那么我想替换该值以仅显示前三个字
  • 拆分并保存在新的 data.frames 中

    我有一个大 data frame 144 列 我想将其分成每组 3 列 子文件或子 data frame 然后将子 data frame 保存在单独的文件中 换句话说 file1 将包含从 1 到 3 的列 file2 将包含从 6 到 9
  • 是否有 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
  • 闪亮的本地部署错误:输入字符串 1 无效 UTF-8

    我很惊讶地发现一个突然的错误 我的 ShinyApp 停止工作并出现未知错误 提示 输入字符串 1 无效 UTF 8 即使在昨天 该应用程序也可以正常运行 但是突然停止了 下面是我运行时的错误描述runApp gt runApp Liste
  • 在 R 中查找 Windows 用户名

    有没有办法在 R 会话中获取当前的 Windows 用户名或 Windows 主目录 Thanks 抱歉 如果我错过了什么 但我找不到任何东西 你可以做 Sys getenv USERNAME Sys getenv HOME 如果你只是输入
  • 如果我有一个包含计数的表格,如何获得直方图/摘要统计数据? [复制]

    这个问题在这里已经有答案了 我习惯了像这样的观察向量c 1 1 1 3 4 我可以在上面看到汇总统计数据和绘制直方图等 但现在我发现自己拥有相同的数据 但采用如下压缩格式 value numObs 1 3 3 1 4 1 当数据以data
  • 挖泥机子集 (MuMIn) - 如果存在主效应,则必须包括交互作用

    我正在使用 dredge MuMIn 进行一些探索性工作 在此过程中 我想将两个变量设置为仅当它们之间存在相互作用时才允许一起出现 即它们不能仅作为主要效果一起出现 使用样本数据 我想挖掘模型 fm1 尽管它可能没有意义 如果变量 GNP
  • 将角色分成几部分

    我观察到以下特征 l lt mod range1 seq m n 0 1 range2 seq 2 2 0 1 range3 seq 2 2 0 1 在 R 中使用正则表达式我想要拆分l在以下结构中 1 mod range1 seq m n
  • 列值的切换功能

    我有一个缩写变量 名称错误地分散在整个列表中 请参阅下面的示例结构 ID lt c SPW SM DLS SJ joe schmoe CEJ teddy roos GVF MJC LH sally fields Full names sho
  • 如何在双对数图(ggplot2)中添加趋势线?

    我需要绘制一个遵循幂律分布的数据向量 所以如果我将它们绘制在对数轴上 它们将是一条直线 但是 如果我没有明确提供 y 参数 我不知道如何绘制 这是代码 library poweRlaw library ggplot2 xmin 1 alph
  • 将儒略日期转换为 PosixCt 日期

    我发现自己在解决这个问题 我需要将 R 中的儒略日期转换为正常日期 YYYY MM DD 我知道我可以指定as Date julian date origin 但我不知道应该提供哪个来源 我的朱利安日期类似于 2458010 2458011
  • R中的引用调用(使用函数修改对象)

    我刚刚接触 R 很惊讶地发现函数不会修改对象 至少看起来这是默认的 例如 我编写了一个函数 只是为了在表格中的一个标签上粘贴一个星号 它在函数内部工作 但表本身没有改变 我主要来自Ruby 那么 在 R 中使用函数更改对象的正常 可接受的方

随机推荐

  • 绘制植物雌性和雄性性相持续时间

    我很难弄清楚如何我们可以创建一个折线图 其中 Y 轴和 X 轴上都有单个植物一条连续的线分为植物各自的开放期 性期和枯萎期 我有大约 60 株植物 每株都有 5 到 15 朵花 以及它们各自的开放日期 进入雄性阶段的日期 进入雌性阶段的日期
  • 配置 log4j 在运行时记录到自定义文件

    任何人都可以指导我如何配置 log4j 以记录到我在运行时指定的特定文件 日志文件的名称和路径是在运行时生成的 应用程序必须记录到该特定文件 通常 log4j properties 文件中的文件附加器条目指向应用程序将使用的日志文件 但是在
  • 快速且Python式地确定字符串是否为回文的方法

    编辑 正如有人指出我不正确地使用了回文概念 现在我已经使用正确的函数进行了编辑 我还在第一个和第三个示例中做了一些优化 其中 for 语句一直运行到到达字符串的一半 我为检查字符串是否为回文的方法编写了三个不同版本的代码 该方法作为类 st
  • 如何使用 Tesseract-android-Tools

    我有 tesseract android tools 1 00 请帮助我使用 TessBaseAPI 接口 我只想将一个 jpg 图像传递给一个 Android 应用程序 该应用程序将一些文本作为图像的一部分 然后通过这个超立方体引擎我想将
  • Firefox 无法正确渲染 svg

    我在 Firefox 中遇到了这个问题 或者可能是我使用了错误的东西 但我使用的是这样的 svg 图像 img src image svg alt some image 浏览器将它们呈现如下 我可以让他们像 png它工作得很好 但我需要它们
  • PHP字符串计算[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我的问题是 在 PHP 中如何从字符
  • System.InvalidOperationException:异步操作尚未完成

    安装导致 Ml net 异常的管道 这Fit不是一个等待的事情 我很困惑为什么会发生这种情况 任何帮助都是值得赞赏的 var model pipeline Fit dataView 堆栈跟踪 在 System Threading Chann
  • 启动时自动运行 EFI 应用程序

    I can 构建并手动执行 http sourceforge net apps mediawiki tianocore index php title Getting Started Writing Simple ApplicationUE
  • Python:返回完整单词而不仅仅是字符串的特定部分(正则表达式)

    我最近刚刚开始学习 Python 并且已经 深入 到了正则表达式 我的任务看起来相当简单 我只需要编写一个从字符串返回某些单词的正则表达式 规则如下 单词只能包含一组元音 换句话说 它是一个不完美但简单的正则表达式 旨在从文本中返回一个音节
  • 获取Python中类的类路径或名称空间,即使它是嵌套的

    我目前正在用 Python 编写一个序列化模块 可以序列化用户定义的类 为了做到这一点 我需要获取对象的完整名称空间并将其写入文件 然后我可以使用该字符串重新创建该对象 例如 假设我们在名为的文件中有以下类结构A py class B cl
  • Nifi 无法使用 POI API 将 CSV 转换为 Excel

    我想使用 groovy 脚本 POI API 将 csv 流文件内容转换为 XLS 文件 我正在使用 ivy 来获取 POI 依赖项 看起来效果很好 请在下面找到更多详细信息 这是我的 Nifi 流程 这是我的脚本 Grapes Grab
  • .asciz 和 .string 汇编器指令之间有什么区别?

    我知道 ascii指令不会在字符串末尾放置空字符 因为 asciz指令就是用于此目的 不过 我不知道是否 string指令在字符串末尾放置一个空字符 如果它确实附加了空字符 那么两者之间有什么区别 asciz和 string指令 对我来说
  • 通过 javascript 自定义验证器错误文本?

    我想通过客户端 JavaScript 设置 ASP net 自定义验证器错误参数文本 如何通过函数中的 sender args 参数访问它 您需要做的就是在中定义回调方法客户端验证函数 http msdn microsoft com en
  • 适用于租户范围的 Firebase 电子邮件模板

    我修改了 重置密码 的电子邮件模板 如果用户超出 Identity Planform 的租户范围 该模板可以正常工作 但是当用户位于租户范围内时 模板不起作用 用户超出范围 IDP https i stack imgur com CNO8S
  • 对象不是来自此工作单元

    我收到一条错误消息 异常 EclipseLink 6004 对象 bla bla 不是来自此 UnitOfWork 对象空间 而是来自父会话的对象空间 该对象从未在此 UnitOfWork 中注册 这是随机出现的异常 有谁知道如何解决这个问
  • 如何使用 Xamarin for Android 将数据从 MediaCodec 流式传输到 AudioTrack

    我正在尝试解码 mp3 文件并将其流式传输到 AudioTrack 一切正常 但会在 Java 端导致大量 GC 我确保不在播放 流循环中分配内存 并将分配临时 Java 数组的责任归咎于 ByteBuffer Get byte int i
  • 如何使用 Firebug 和 Chrome 开发者工具调试不同媒体查询中的 css?

    如何在 Chrome 开发者工具中调试 css 的orientation portrait 我在里面写了什么 orientation portrait 无法通过 Firebug 和 Chrome 开发者工具进行即时编辑 它始终显示正常属性
  • UnicodeEncodeError [Python3/Gunicorn/Nginx/Django]

    Solved 当我按照中的说明进行操作时发生此错误here https www digitalocean com community tutorials how to set up django with postgres nginx an
  • 调用 Html.BeginForm 并指定操作

    我一直在尝试执行以下操作 但无论我尝试什么 我都会不断收到不同的错误 using Html BeginForm Url Action this ViewContext RouteData Values action as string 例如
  • 为什么 ggplot 不允许抑制其 geoms 生成的消息?

    The geom density ridges几何从ggridges包创建了山脊线 如果未指定带宽 它会尝试找到一个合理的值 然后它使用base R message报告该值的函数 参见https twitter com ClausWilke