我正在使用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。我想这是因为我的数据中缺少值。所以,我的问题是如何用glue语法编写cv(x, na.rm = TRUE)。
编辑:事实证明,挑战是由于精度问题,而不是设置na.rm=TRUE。因此,解决方案是将cv的位数设置为2或3。(请参阅标记的答案和注释)
发布于 2020-07-30 03:48:06
这是一个很好的问题。
tbl_summary()尝试做的一件困难的事情是猜测要将统计数据舍入到多少位。这个例子很棘手,因为您通常希望平均值和CV以不同的精度级别显示,因为它们不在相同的比例上。在下面的示例中,tbl_summary()猜测年龄应该四舍五入到最接近的整数。对于均值和标准差来说,这是一个合理的假设,但我们需要告诉它显示更多的CV数字。为此,我们使用tbl_summary(digits=)参数。有三个关于年龄的统计数据(均值、sd和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))
)

希望这能回答你的问题!祝你编码愉快!
https://stackoverflow.com/questions/63160875
复制相似问题