在 gtsummary 输出包中四舍五入到最接近的 0 或 5

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

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

library(tidyverse)
library(gtsummary)

data %>% 
tbl_summary(
  by = hba1c,
  include = -id
)

这是数据

结构(列表(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, 1L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 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, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 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、 1L, 0L, 1L, 1L, 0L, 1L, 1L, 1L)), 类 = "data.frame", row.names = c(NA, -100L))

r stat gtsummary
1个回答
0
投票

您可以创建自己的样式函数来执行此操作。

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

然后在您的

tbl_summary
调用中使用它来舍入频率,同时保持百分比不变:

df %>% 
  tbl_summary(
    by = hba1c,
    include = -id,
    digits=list(everything() ~ c(round_05, 0))
  )

enter image description here

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