首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在R glue语法中设置"na.rm = TRUE

如何在R glue语法中设置"na.rm = TRUE
EN

Stack Overflow用户
提问于 2020-07-30 03:13:41
回答 1查看 136关注 0票数 1

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

代码语言:javascript
复制
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。(请参阅标记的答案和注释)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-30 03:48:06

这是一个很好的问题。

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

代码语言:javascript
复制
library(goeveg)
library(gtsummary)

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63160875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档