在 {gtsummary} 中删除小数点前的 0
Removing 0 before decimal in {gtsummary}
在心理学领域,习惯上当数值不可能超过1.0时,在小数点前去掉一个0。
因此,我想更改 p 值,例如:
p = 0.01 to p = .01
此外,在使用 tbl_regression
进行回归 table 时,
我想将标准化的 beta 系数更改为,例如:
beta = -0.43 to beta = -.43 (in the regression table)
或者,R^2:
R^2 = 0.234 to R^2 = .234 (through add_glance_statistics
)
有办法吗?我看过样式工具,但似乎没有针对此的配置。
您可以使用modify_fmt_fun
修改table的格式。在这里,我使用 gtsummary
中的 trial
数据来展示如何删除 p.value
的前导 0。在应用 sub
删除前导 0 后,它 returns NA 用于其他行。因此,我使用 gsub
将 table 的 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", "", .)
})
输出
在心理学领域,习惯上当数值不可能超过1.0时,在小数点前去掉一个0。
因此,我想更改 p 值,例如:
p = 0.01 to p = .01
此外,在使用 tbl_regression
进行回归 table 时,
我想将标准化的 beta 系数更改为,例如:
beta = -0.43 to beta = -.43 (in the regression table)
或者,R^2:
R^2 = 0.234 to R^2 = .234 (through
add_glance_statistics
)
有办法吗?我看过样式工具,但似乎没有针对此的配置。
您可以使用modify_fmt_fun
修改table的格式。在这里,我使用 gtsummary
中的 trial
数据来展示如何删除 p.value
的前导 0。在应用 sub
删除前导 0 后,它 returns NA 用于其他行。因此,我使用 gsub
将 table 的 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", "", .)
})
输出