【问题标题】:Removing 0 before decimal in {gtsummary}删除 {gtsummary} 中小数点前的 0
【发布时间】:2021-12-26 05:50:09
【问题描述】:

在心理学领域,当不可能超过 1.0 的值时,习惯上将小数点前的 0 去掉。

因此,我想更改 p 值,例如:

p = 0.01 到 p = .01

此外,在使用tbl_regression 制作回归表时, 我想将标准化的 beta 系数更改为,例如:

beta = -0.43 到 beta = -.43(在回归表中)

或者,R^2:

R^2 = 0.234 到 R^2 = .234(通过add_glance_statistics

有没有办法做到这一点?我查看了样式工具,但似乎没有这样的配置。

【问题讨论】:

  • gtsummary 包具有期刊主题功能。例如,您可以在脚本顶部运行theme_gtsummary_journal("jama"),所有结果将以 JAMA 样式打印。我们还没有心理学期刊,但我们欢迎投稿。您可以在 GitHub 页面上提交问题以开始使用。通常,我们会以该领域的顶级期刊为主题建模。您向我们提供相关信息的链接(例如报告指南、手稿示例),我们可以为该期刊创建一个主题来对数字进行四舍五入、用于 mat p 值等。

标签: r gtsummary


【解决方案1】:

您可以使用modify_fmt_fun 来修改表格的格式。在这里,我使用来自gtsummarytrial 数据来展示如何删除p.value 的前导0。在应用 sub 删除前导 0 后,它为其他行返回 NA。所以,我使用gsub 将表格的 NA 改回空白。

library(gtsummary)
library(tidyverse)

trial[c("age", "grade", "trt")] %>%
  tbl_summary(by = trt) %>%
  add_p() %>%
  modify_fmt_fun(update = p.value ~ function(val) {
    as.character(sub("^(-?)0.", "\\1.", sprintf("%.2f", val))) %>%
      gsub("NA", "", .)
  })

输出

如果你需要对其他人做同样的事情,那么你可以添加额外的参数。在这里,我将 beta(即估计)添加到 modify_fmt_fun

lm(age ~ marker + grade, trial) %>%
  tbl_regression() %>%
  add_glance_source_note(
    label = list(df  ~ "Degrees of Freedom", sigma ~ "\U03C3"),
    fmt_fun = df ~ style_number,
    include = c(r.squared, AIC, sigma, df)
  ) %>%
  modify_fmt_fun(update = c(estimate, p.value) ~ function(val) {
    as.character(sub("^(-?)0.", "\\1.", sprintf("%.2f", val))) %>%
      gsub("NA", "", .)
  })

输出

【讨论】:

  • 谢谢!这正是我一直在寻找的。关于 p 值,如何在 p 值中保留克拉?例如,将 p=.028 格式化为 p=.28,但保持 p<.001>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 1970-01-01
  • 2018-02-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多