1

我正在使用gtsummary::tbl_summary创建一个统计汇总表。

stats_summary_table <-
  dat_wide%>%
  tbl_summary(by = mss_plate_id, 
              missing = "no",
              statistic = list(all_continuous() ~ " {mean} ± {sd}   {cv}"  ))

cv函数来自goeveg库。报告表显示 cv 值为 0。我想这是因为我的数据中缺少值。所以,我的问题是如何用cv(x, na.rm = TRUE)胶水语法编写。

编辑:事实证明,挑战是由于精度问题而不是设置na.rm=TRUE。因此解决方案是将 cv 的位数设置为 2 或 3。(请参阅标记的答案及其评论)

4

1 回答 1

1

这是一个很好的问题。

尝试做的一件困难的事情tbl_summary()是猜测要将统计数据四舍五入到多少位数。这个例子很棘手,因为您通常希望以不同的精度级别显示均值和 CV,因为它们不在同一比例上。在下面的示例中,tbl_summary()猜测年龄应该显示为四舍五入到最接近的整数。这是均值和 SD 的合理假设,但我们需要告诉它为 CV 显示更多数字。为此,我们使用tbl_summary(digits=)参数。显示了年龄的三个统计数据(平均值、标准差和 cv),我们将传递一个长度为 3 的向量,指示将每个统计数据四舍五入的位数。

library(goeveg)
library(gtsummary)

trial %>%
  select(age, marker) %>%
  tbl_summary(
    statistic = list(all_continuous() ~ " {mean} ± {sd} [{cv}]"),
    digits = list(age ~ c(0, 0, 2))
  )

在此处输入图像描述

希望这能回答你的问题!快乐编码!

于 2020-07-29T19:48:06.150 回答