tbl_summary() 可以保留空值而不是 NA/缺失值吗?
can tbl_summary() leave empty value instead of NA/ missing values?
我正在使用 tbl_summary() 来总结患者队列的临床特征。
我有一个患者组和一个对照组。我的问题是我有更多的变量用于患者组(血细胞计数等),而这些变量不适用于对照组。
示例数据:
library(gtsummary)
group <- rep(c("Kontrol","Patient"),times=c(5,10))
age <- floor(runif(15, min=20, max=101))
sex <- rep(c("male","female","male","female"), times=c(3,2,7,3))
Hemoglobin <- as.numeric(c(rep("",times=5),7.21,7.52,10.41,10.03,8.95,6.24,8.54,14.22,8.76,7.57))
df <- data.frame(group,age,sex,Hemoglobin)
df %>% tbl_summary(by=group)
enter image description here
所以我的问题是我可以创建一个 table,其中这些变量在控制列中的值为空吗?就像是:
enter image description here
感谢您的帮助!
似乎仅使用函数提供的参数(例如missing
和missing_text
参数)无法达到预期的效果。您必须在本地修改列表对象。
library(gtsummary)
group <- rep(c("Kontrol","Patient"),times=c(5,10))
age <- floor(runif(15, min=20, max=101))
sex <- rep(c("male","female","male","female"), times=c(3,2,7,3))
Hemoglobin <- as.numeric(c(rep("",times=5),7.21,7.52,10.41,10.03,8.95,6.24,8.54,14.22,8.76,7.57))
df <- data.frame(group,age,sex,Hemoglobin)
table <-
df %>%
tbl_summary(by=group, missing="no")
table$table_body$stat_1[table$table_body$stat_1 == "NA (NA, NA)"] <- NA
table
由 reprex package (v2.0.1)
创建于 2022-01-14
只需使用 modify_table_body()
添加另一个解决方案。此函数允许对 gtsummary
表进行一些更高级的自定义。
library(gtsummary)
group <- rep(c("Kontrol","Patient"),times=c(5,10))
age <- floor(runif(15, min=20, max=101))
sex <- rep(c("male","female","male","female"), times=c(3,2,7,3))
Hemoglobin <- as.numeric(c(rep("",times=5),7.21,7.52,10.41,10.03,8.95,6.24,8.54,14.22,8.76,7.57))
df <- data.frame(group,age,sex,Hemoglobin)
df %>%
tbl_summary(by=group, missing="no") %>%
modify_table_body(~.x %>%
dplyr::mutate(stat_1 = ifelse(stat_1 == "NA (NA, NA)",NA,stat_1)))
我正在使用 tbl_summary() 来总结患者队列的临床特征。
我有一个患者组和一个对照组。我的问题是我有更多的变量用于患者组(血细胞计数等),而这些变量不适用于对照组。
示例数据:
library(gtsummary)
group <- rep(c("Kontrol","Patient"),times=c(5,10))
age <- floor(runif(15, min=20, max=101))
sex <- rep(c("male","female","male","female"), times=c(3,2,7,3))
Hemoglobin <- as.numeric(c(rep("",times=5),7.21,7.52,10.41,10.03,8.95,6.24,8.54,14.22,8.76,7.57))
df <- data.frame(group,age,sex,Hemoglobin)
df %>% tbl_summary(by=group)
enter image description here
所以我的问题是我可以创建一个 table,其中这些变量在控制列中的值为空吗?就像是: enter image description here
感谢您的帮助!
似乎仅使用函数提供的参数(例如missing
和missing_text
参数)无法达到预期的效果。您必须在本地修改列表对象。
library(gtsummary)
group <- rep(c("Kontrol","Patient"),times=c(5,10))
age <- floor(runif(15, min=20, max=101))
sex <- rep(c("male","female","male","female"), times=c(3,2,7,3))
Hemoglobin <- as.numeric(c(rep("",times=5),7.21,7.52,10.41,10.03,8.95,6.24,8.54,14.22,8.76,7.57))
df <- data.frame(group,age,sex,Hemoglobin)
table <-
df %>%
tbl_summary(by=group, missing="no")
table$table_body$stat_1[table$table_body$stat_1 == "NA (NA, NA)"] <- NA
table
由 reprex package (v2.0.1)
创建于 2022-01-14只需使用 modify_table_body()
添加另一个解决方案。此函数允许对 gtsummary
表进行一些更高级的自定义。
library(gtsummary)
group <- rep(c("Kontrol","Patient"),times=c(5,10))
age <- floor(runif(15, min=20, max=101))
sex <- rep(c("male","female","male","female"), times=c(3,2,7,3))
Hemoglobin <- as.numeric(c(rep("",times=5),7.21,7.52,10.41,10.03,8.95,6.24,8.54,14.22,8.76,7.57))
df <- data.frame(group,age,sex,Hemoglobin)
df %>%
tbl_summary(by=group, missing="no") %>%
modify_table_body(~.x %>%
dplyr::mutate(stat_1 = ifelse(stat_1 == "NA (NA, NA)",NA,stat_1)))