You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言的ggscatter中,能否将r值与p值的小数点替换为逗号?

解决方法

当然可以修改显示格式,这里提供两种实用方案:

方案一:修改R的区域设置(全局生效)

通过设置R的数字格式区域为巴西葡萄牙语,让所有数值输出自动使用逗号作为小数点分隔符:

# 设置区域为巴西葡萄牙语(需确保系统支持该区域)
Sys.setlocale("LC_NUMERIC", "pt_BR.UTF-8")

# 正常使用ggscatter绘图,相关系数会自动显示为逗号格式
library(ggpubr)
data(mtcars)
ggscatter(mtcars, x = "wt", y = "mpg", add = "reg.line", conf.int = TRUE, cor.coef = TRUE)

如果执行Sys.setlocale时报错,先通过system("locale -a")(Linux/macOS)或system("chcp")(Windows)检查系统是否支持pt_BR.UTF-8区域,若没有需先安装对应语言包。

方案二:自定义相关系数标签(仅针对当前图形)

如果不想修改全局设置,可以手动生成带逗号的相关系数标签,替换默认输出:

library(ggpubr)
data(mtcars)

# 计算Pearson相关系数
r_value <- cor(mtcars$mpg, mtcars$wt, method = "pearson")

# 将小数点替换为逗号,生成自定义标签
r_label <- paste0("r = ", gsub("\\.", ",", format(r_value, digits = 2)))

# 绘图:关闭默认cor标签,添加自定义标签
ggscatter(mtcars, x = "wt", y = "mpg", add = "reg.line", conf.int = TRUE, cor.coef = FALSE) +
  annotate("text", x = 4, y = 30, label = r_label, size = 5)

或者直接通过stat_cor函数自定义标签格式:

ggscatter(mtcars, x = "wt", y = "mpg", add = "reg.line", conf.int = TRUE) +
  stat_cor(
    aes(label = paste0("r = ", gsub("\\.", ",", format(r, digits = 2)))),
    method = "pearson",
    size = 5
  )

内容的提问来源于stack exchange,提问作者Diego Goergen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 19:40:39