在 n (add_n()) 中舍入到最接近的 0 或 5 gtsummary 输出包

问题描述 投票:0回答:1

我需要帮助将 gtsummary 输出表中 add_n() 的 n 列中的最后一位数字四舍五入为 0 或 5。非常感谢任何帮助

library(tidyverse)
library(gtsummary)


round_05 <- function(x) {
  ceiling(x/5) * 5
} 


df %>% 
  tbl_summary(
    by = hba1c,
    include = -id,
    digits=list(everything() ~ c(round_05, 0))
    # digits=list(everything() ~ c(round_05, round_pct))
  ) %>% 
  add_p(pvalue_fun = ~ style_pvalue(.x, digits = 2)) %>%
  add_overall() %>%
  add_n()

这是我的数据

结构(列表(id = 1:100, 年龄 = c("a", "a", "b", "a", "b", "b", “b”、“c”、“c”、“c”、“a”、“a”、“b”、“a”、“b”、“b”、“b”、“c”、“c” ”, “c”、“a”、“a”、“b”、“a”、“b”、“b”、“b”、“c”、“c”、“c”、“a”、“a” ”, “b”、“a”、“b”、“b”、“b”、“c”、“c”、“c”、“a”、“a”、“b”、“a”、“b” ”, “b”、“b”、“c”、“c”、“c”、“a”、“a”、“b”、“a”、“b”、“b”、“b”、“c” ”, “c”、“c”、“a”、“a”、“b”、“a”、“b”、“b”、“b”、“c”、“c”、“c”、“a” ”, “a”、“b”、“a”、“b”、“b”、“b”、“c”、“c”、“c”、“a”、“a”、“b”、“a” ”, “b”、“b”、“b”、“c”、“c”、“c”、“a”、“a”、“b”、“a”、“b”、“b”、“b” ”, “c”,“c”,“c”),性别 = c(“M”,“F”,“M”,“M”,“M”,“F”,“F”,“F”, “F”、“M”、“F”、“M”、“M”、“M”、“F”、“F”、“F”、“F”、“M”、“F”、“M” ”, “M”、“M”、“F”、“F”、“F”、“F”、“M”、“F”、“M”、“M”、“M”、“F”、“F” ”, “F”、“F”、“M”、“F”、“M”、“M”、“M”、“F”、“F”、“F”、“F”、“M”、“F” ”, “M”、“M”、“M”、“F”、“F”、“F”、“F”、“M”、“F”、“M”、“M”、“M”、“F” ”, “F”、“F”、“F”、“M”、“F”、“M”、“M”、“M”、“F”、“F”、“F”、“F”、“M” ”, “M”、“F”、“F”、“F”、“F”、“M”、“F”、“M”、“M”、“M”、“F”、“F”、“F” ”, “F”、“M”、“M”、“F”、“F”、“F”、“F”、“M”、“F”、“M”、“M”、“M”、“F” ”, "F"), 国家 = c("eng", "eng", "eng", "eng", "wale", "wale", “威尔士”,“苏格兰”,“苏格兰”,“苏格兰”,“英格兰”,“英格兰”,“英格兰”,“英格兰”,“威尔士”, “威尔士”,“威尔士”,“苏格兰”,“苏格兰”,“苏格兰”,“英格兰”,“英格兰”,“英格兰”, “英格兰”、“威尔士”、“威尔士”、“威尔士”、“苏格兰”、“苏格兰”、“苏格兰”、“英格兰”、 “英格兰”,“英格兰”,“英格兰”,“威尔士”,“威尔士”,“威尔士”,“苏格兰”,“苏格兰”, “苏格兰人”,“英格兰”,“英格兰”,“英格兰”,“英格兰”,“威尔士”,“威尔士”,“威尔士”,“苏格兰”, “苏格兰”,“苏格兰”,“英格兰”,“英格兰”,“英格兰”,“英格兰”,“威尔士”,“威尔士”,“威尔士”, “苏格兰”,“苏格兰”,“苏格兰”,“英格兰”,“英格兰”,“英格兰”,“英格兰”,“威尔士”,“威尔士”, “威尔士”,“苏格兰”,“苏格兰”,“苏格兰”,“英格兰”,“英格兰”,“英格兰”,“英格兰”,“威尔士”, “威尔士”,“威尔士”,“苏格兰”,“苏格兰”,“苏格兰”,“英格兰”,“英格兰”,“英格兰”, “英格兰”,“威尔士”,“威尔士”,“威尔士”,“苏格兰”,“苏格兰”,“苏格兰”,“英格兰”, “英格兰”,“英格兰”,“英格兰”,“威尔士”,“威尔士”,“威尔士”,“苏格兰”,“苏格兰”, “苏格兰”),edu = c(“x”,“x”,“x”,“y”,“y”,“y”,“z”,“z”,“z”, “z”、“x”、“x”、“x”、“y”、“y”、“y”、“z”、“z”、“z”、“z”、“x”、“x” ”, “x”、“y”、“y”、“y”、“z”、“z”、“z”、“z”、“x”、“x”、“x”、“y”、“y” ”, “y”、“z”、“z”、“z”、“z”、“x”、“x”、“x”、“y”、“y”、“y”、“z”、“z” ”, “z”、“z”、“x”、“x”、“x”、“y”、“y”、“y”、“z”、“z”、“z”、“z”、“x” ”, “x”、“x”、“y”、“y”、“y”、“z”、“z”、“z”、“z”、“x”、“x”、“x”、“y” ”, “y”、“y”、“z”、“z”、“z”、“z”、“x”、“x”、“x”、“y”、“y”、“y”、“z” ”, “z”、“z”、“z”、“x”、“x”、“x”、“y”、“y”、“y”、“z”、“z”、“z”、“z” ” ), hba1c = c(1L, 1L, 1L, 1L, 1L, 1L, NA, NA, NA, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 不适用, 不适用, 不适用, 不适用, 不适用, 不适用, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L、1L、1L、1L、1L、1L、不适用、不适用、不适用、不适用、不适用、不适用、不适用、不适用、0L、0L、 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L、0L、1L、0L、0L、0L、0L、1L、1L、1L、0L、1L、1L、1L、0L、1L、 NA, NA, NA, NA, NA, 1L, 1L, 1L)), 类 = "data.frame", row.names = c(NA, -100L))

r stat gtsummary
1个回答
0
投票

因为

statistic
参数使用glue::glue语法,你可以运行任意代码。

library(gtsummary)

trial[c("trt", "age", "grade", "response")] %>%
  tbl_summary(by = trt) %>%
  add_n(statistic  = "{round(as.integer(n) / 5) * 5}")

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.