有没有办法从 tbl_summary 中的单独 table 中提取标签?
Is there a way to pull labels from a separate table in tbl_summary?
我正在使用 gtsummary 包中的 tbl_summary 来创建出版物 tables,总结来自数据 table 的一长串分类数据。出于发布目的,tbl_summary 允许使用参数
分配人类可读的变量标签而不是变量名称
label = grade ~ "Tumor Grade"
对于列表形式的多个变量:
label = list(api00 ~ "API in 2000",
api99 ~ "API in 1999",
api98 ~ "API in 1998")
然而,我有数百个变量,变量名和相应的人类可读标签存储在另一个 table 中。
我如何从一个单独的 table 中使用这些值创建上述格式的列表(即 var_name ~“变量标签”)并将其传递到 tbl_summary 标签中作为参数?
换句话说,我有一个 table 的格式:
VAR_NAME VAR_LABEL
var1 First variable
var2 Second variable
... ...
var159 Hundred fifty ninth variable
有没有办法读取这个 table 并将参数作为列表传递给 tbl_summary 的标签函数:
label = list(VAR_NAME ~ "VAR_LABEL")
提前致谢。
您可以使用 Map
动态创建标签。如果您的数据框称为 df
,请尝试:
formula_list <- Map(function(x, y) as.formula(sprintf('%s~"%s"', x, y)),
df$VAR_NAME, df$VAR_LABEL)
然后在label
中使用这个formula_list
。
label = formula_list
我认为最好的办法是将变量标签保存为命名列表。它们更容易使用,您可以将命名列表传递给 gtsummary 中的任何标签参数。
library(gtsummary)
packageVersion("gtsummary")
#> [1] '1.3.6'
list_of_labels <-
list(age = "Patient Age, yrs",
grade = "Path. Tumor Grade")
tbl <-
trial %>%
select(age, grade) %>%
tbl_summary(label = list_of_labels)
# convert a data frame into a list
data.frame(variable = c("age", "grade"),
label = c("Patient Age, yrs", "Path. Tumor Grade")) %>%
tibble::deframe() %>%
as.list()
#> $age
#> [1] "Patient Age, yrs"
#>
#> $grade
#> [1] "Path. Tumor Grade"
由 reprex package (v1.0.0)
于 2021-02-20 创建
我正在使用 gtsummary 包中的 tbl_summary 来创建出版物 tables,总结来自数据 table 的一长串分类数据。出于发布目的,tbl_summary 允许使用参数
分配人类可读的变量标签而不是变量名称label = grade ~ "Tumor Grade"
对于列表形式的多个变量:
label = list(api00 ~ "API in 2000",
api99 ~ "API in 1999",
api98 ~ "API in 1998")
然而,我有数百个变量,变量名和相应的人类可读标签存储在另一个 table 中。
我如何从一个单独的 table 中使用这些值创建上述格式的列表(即 var_name ~“变量标签”)并将其传递到 tbl_summary 标签中作为参数?
换句话说,我有一个 table 的格式:
VAR_NAME VAR_LABEL
var1 First variable
var2 Second variable
... ...
var159 Hundred fifty ninth variable
有没有办法读取这个 table 并将参数作为列表传递给 tbl_summary 的标签函数:
label = list(VAR_NAME ~ "VAR_LABEL")
提前致谢。
您可以使用 Map
动态创建标签。如果您的数据框称为 df
,请尝试:
formula_list <- Map(function(x, y) as.formula(sprintf('%s~"%s"', x, y)),
df$VAR_NAME, df$VAR_LABEL)
然后在label
中使用这个formula_list
。
label = formula_list
我认为最好的办法是将变量标签保存为命名列表。它们更容易使用,您可以将命名列表传递给 gtsummary 中的任何标签参数。
library(gtsummary)
packageVersion("gtsummary")
#> [1] '1.3.6'
list_of_labels <-
list(age = "Patient Age, yrs",
grade = "Path. Tumor Grade")
tbl <-
trial %>%
select(age, grade) %>%
tbl_summary(label = list_of_labels)
# convert a data frame into a list
data.frame(variable = c("age", "grade"),
label = c("Patient Age, yrs", "Path. Tumor Grade")) %>%
tibble::deframe() %>%
as.list()
#> $age
#> [1] "Patient Age, yrs"
#>
#> $grade
#> [1] "Path. Tumor Grade"
由 reprex package (v1.0.0)
于 2021-02-20 创建