使用 ggpubr::stat_cor 绘制 ggplot 时出现解析错误(文本...)意外的逗号“,”并将输出小数设置为逗号(选项(OutDec =“,”))

2023-12-04

设置完后输出小数到逗号使用 option 命令,当使用函数 stat_cor 将 Pearson 相关结果包含在 ggplot 中时,出现以下错误:

Error in parse(text = text[[i]]) : <text>:1:16: unexpected ','
1: italic(R)~`=`~0,
                  ^

下面是一个最小的可重现示例:

library(ggplot2)
library(ggpubr)

options(OutDec= ",") #set decimal seperator to a comma
 
plot<-ggplot(economics,aes (x=pce/10000, y=uempmed)) + 
  geom_point(size = 2)+
plot #works fine and axis labels correctly have commas as decimal seperator

options(OutDec= ",") #set decimal seperator to a comma

plot<-ggplot(economics,aes (x=pce/10000, y=uempmed)) + 
  geom_point(size = 2)+
  stat_cor(show.legend = F ,label.y = c(18), method = "pearson") 
plot #ERROR, adding ,decimal.mark = "," does not work

#Leads to error:
#Error in parse(text = text[[i]]) : <text>:1:16: unexpected ','
#1: italic(R)~`=`~0,
#                   ^

options(OutDec= ".") #set decimal seperator to a dot and it works as expected

plot<-ggplot(economics,aes (x=pce/10000, y=uempmed)) + 
  geom_point(size = 2)+
  stat_cor(show.legend = F ,label.y = c(18), method = "pearson")
plot #correct output

我搜索了帮助函数以查看哪些参数可以传递给 stat_cor ,它导致传递给 geom_text 或 geom_label 的其他参数。并在那里其他参数传递给layer()。所以我尝试包括,decimal.mark = "," and , labels = label_number(decimal.mark = "," )在 stat_cor 函数中,但这不起作用。

这是我在谷歌搜索时发现的最接近的东西,但它对我没有帮助,因为它是相同的问题,但在不同的函数中(geom_sf)https://github.com/tidyverse/ggplot2/issues/3365不过,我认为问题的根源已经得到了解释:

**clauswilke 于 2019 年 6 月 17 日发表评论 ** 据我所知,出现这个特殊问题是因为 ggplot 创建了一个绘图数学表达式,然后将其转换为字符串,然后再次解析该字符串。在该解析阶段,无法理解以逗号作为分隔符的数字.

我想可以通过使用 geom_annotate 或 geom_label 来解决,但这意味着我必须手动包含大量图表的所有皮尔逊相关性测试结果,所以我更喜欢直接修复。


这是 ggpubr 包中的一个错误,因为它无法将逗号作为小数分隔符处理。欲了解更多信息,请参阅此处或评论:

MrFlick:具体来说,我认为是这一行https://github.com/kassambara/ggpubr/blob/ac5a01f586a5f0b47260fed071e79be36ef3f8ea/R/stat_cor.R#L207。这些值应该用引号引起来,以防止解析错误。 p 值中保留小数点的问题来自https://github.com/kassambara/ggpubr/blob/ac5a01f586a5f0b47260fed071e79be36ef3f8ea/R/stat_cor.R#L219。看起来这个包并不真正支持逗号分隔符。 –

然而,有一个解决方法(由@MrFlick指出)通过传递参数, output.type="text"在 stat_cor 函数中,例如:

stat_cor(show.legend = F ,label.y = c(18), method = "pearson", output.type="text")

但是,有一种边缘情况,如果 p

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

使用 ggpubr::stat_cor 绘制 ggplot 时出现解析错误(文本...)意外的逗号“,”并将输出小数设置为逗号(选项(OutDec =“,”)) 的相关文章

  • 使用选定因子水平的值向 ggplot-barchart 添加水平线

    在这个情节中 df lt data frame factor as factor c rep A 3 rep B 3 Treatment c rep c A B C 2 values runif 6 0 1 ggplot df aes Tr
  • 从数据框中绘制多条平滑线

    我对 R 比较陌生 我正在尝试绘制从 csv 文件加载的数据框 数据由 6 列组成 如下所示 xval col1 col2 col3 col4 col5 第一列 xval 由一系列单调递增的正整数 例如 10 40 60 等 组成 其他列
  • 当将遗传算法与 lme4 一起使用时,glmulti 无限期运行

    我在 R 中使用 glmulti 进行模型平均 我的模型中有大约 10 个变量 使得详尽的筛选不切实际 因此我需要使用遗传算法 GA 调用 method g 我需要包含随机效应 因此我使用 glmulti 作为 lme4 的包装器 此处提供
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso
  • 灵气序列解析问题

    我在使用 Spirit Qi 2 4 编写解析器时遇到一些问题 我有一系列键值对以以下格式解析
  • 使用点阵个性化 R 上显示的 X 轴值

    我收集了大量包含日期 客户端及其 NFS 使用情况的数据 我正在使用lattice R包进行绘图 正如对超级用户的建议 https superuser com questions 523195 plot custom log data on
  • LL(1) 解析器中 FIRST 和 FOLLOW 集的用途?

    谁能向我解释一下 LL 1 语法中如何使用 FIRST 和 FOLLOW 我知道它们用于语法表构建 但我不明白如何使用 在 LL 1 解析器中 解析器的工作方式是维护一个工作空间 该工作空间最初播种到开始符号 后跟字符串结束标记 通常表示为
  • 如何动态地将 sliderInput 添加到闪亮的应用程序中?

    使用闪亮 我上传一个 csv 文件 并根据列名称 我需要向 ui 添加滑块 sidebarPanel fileInput file1 Upload CSV File to Create a Model accept c text csv t
  • R 中 SVG 图形的最佳设备? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想从 R 导出 SVG 图形 似乎有两种选择 RSvgDevice 和 Cairo 有人可以对这些包发表评论吗 是默认的还是明显比另一个
  • R:单纯形错误:在下标赋值中不允许使用 NA

    对于以下具有目标函数和约束的最小化 boot simplex返回错误 Error in tab pr lt tab pr tab pr pc pv o tab pr NAs are not allowed in subscripted as
  • 计算 R 行中的非零条目数

    我有以下类型的数据 mode1 mode2 mode3 1 8 1 0 2 0 0 0 3 6 5 4 4 1 2 3 5 1 1 1 数据使用dput structure list mode1 c 8L 0L 6L 1L 1L mode2
  • 如何像在facet_grid中一样在facet_wrap中定位条带标签

    我想在使用时删除多余的条带标签facet wrap 并用两个变量进行分面 并且都是自由尺度的 例如 这个facet wrap下图的版本 library ggplot2 dt lt txhousing txhousing year in 20
  • rvest 函数 html_nodes 返回 {xml_nodeset (0)}

    我正在尝试抓取以下网站的数据框 http stats nba com game 0041700404 playbyplay http stats nba com game 0041700404 playbyplay 我想创建一个表格 其中包
  • 如何使用 SimpleDateFormat 解析多种格式的日期

    我正在尝试解析文档中的一些日期 用户似乎以类似但不完全相同的格式输入了这些日期 以下是格式 9 09 9 2009 09 2009 9 1 2009 9 1 2009 尝试解析所有这些内容的最佳方法是什么 这些似乎是最常见的 但我想让我困扰
  • C# 是否有像 Java 那样的字符串分词器?

    我正在做简单的字符串输入解析 我需要一个字符串标记器 我是 C 新手 但已经编写过 Java 程序 因此 C 应该有一个字符串标记生成器似乎很自然 可以 它在哪里 我该如何使用它 你可以使用String Split 方法 http msdn
  • 我如何查看 quantmod 包中所有可用的数据系列?

    如何显示可用的所有报价 数据系列的列表 例如使用雅虎的 getSymbols 我不知道有什么办法 TTR包有一个功能 stockSymbols 下载 NYSE AMEX 和 NASDAQ 的所有当前代码 它试图将它们采用雅虎可接受的格式 但
  • 更改 R 中 ggplot geom_polygon 的颜色方案

    我正在使用地图库和 ggplot 的 geom polygon 创建地图 我只是想将默认的蓝色 红色 紫色配色方案更改为其他颜色 我对 ggplot 非常陌生 所以如果我没有使用正确的数据类型 请原谅 我使用的数据如下所示 gt head
  • 条件和分组 mutate dplyr

    假设我有以下每个抽屉库存增加的数据 gt socks year drawer nbr sock total 1990 1 2 1991 1 2 1990 2 3 1991 2 4 1990 3 2 1991 3 1 我想要一个二进制变量来标
  • 如何使用plotmath更新ggplot图例标签

    我正在尝试更新ggplot要使用的图例标签plotmath但是 当我这样做时 它将之前组合的图例分成两部分 通过一个例子可能更容易理解 test data and the default plot gives the correct col
  • 斯皮尔曼相关性和联系

    我正在一小组配对排名上计算斯皮尔曼的 rho 斯皮尔曼因处理领带不当而闻名 例如 取2组8个排名 即使两组中有6个是平局 相关性仍然很高 gt cor test c 1 2 3 4 5 6 7 8 c 0 0 0 0 0 0 7 8 met

随机推荐