gtsummary R包:打印大数字时如何删除逗号?

gtsummary R package: how to remove commas when printing large numbers?

使用 gtsummary R 包中的 tbl_summary() 创建 table 时,默认设置将为大数字打印逗号。是否可以删除这些逗号?

例如,假设我想计算以下具有较大尺度的变量的中位数和 IQR:

set.seed(123)
data=data.frame(X=rnorm(100,mean=50000,sd=10000))
tbl_summary(data)

我想在不使用逗号的情况下打印大数字,但仍使用逗号分隔括号内的第 1 和第 3 分位数统计数据。因此输出应如下所示:50618 (45061, 56918)。这可能吗?

谢谢

是的,你可以控制它!

打印 gtsummary table 中所有数字的函数是 style_number()(本质上是 scales::number() 的副本,但可以使用 gtsummary 选项自定义)。我们可以使用 gtsummary 主题设置默认的 style_number(big.mark=) 参数(更多信息在这里 http://www.danieldsjoberg.com/gtsummary/articles/themes.html)。

下面的这段代码会将大标记分隔符设置为 "" 而不是默认的逗号。

list("style_number-arg:big.mark" = "") %>%
  set_gtsummary_theme()

ggplot2::diamonds %>%
  select(cut) %>%
  tbl_summary()

但是,该代码有点难记。大号和小数点最常见的地方是当 table 被打印成不同的语言时(例如,他们可能使用逗号作为小数点分隔符,而句点作为大号分隔符)。因此,这是内置在语言主题中的。下面的代码将语言设置为英语(已经是默认语言),并删除了作为大标记分隔符的逗号。

theme_gtsummary_language("en", big.mark = "")

ggplot2::diamonds %>%
  select(cut) %>%
  tbl_summary()

编码愉快!