我试图向一个组合了多个模型的gtsummary表中添加显着性星号,但是我得到了一个我不知道如何解决的错误。
library(gtsummary)
library(tidyverse)
# Create a list of tbl_regression objects
models <- c("disp", "disp + hp") %>%
map(
~ paste("vs", .x, sep = " ~ ") %>%
as.formula() %>%
glm(data = mtcars,
family = binomial(link = "logit")) %>%
tbl_regression(exponentiate = TRUE))
# Try to add significance stars
models %>%
add_significance_stars(
pattern = "{estimate}{stars}",
thresholds = c(0.001, 0.01, 0.05),
hide_ci = TRUE,
hide_p = TRUE,
hide_se = FALSE
)
#> Error: Error in argument 'x='. Expecting object of class 'tbl_regression', or 'tbl_uvregression'列表models似乎不是类tbl_regression的对象,因此不能传递给add_significance_stars()。我怎样才能解决这个问题?
发布于 2022-09-19 21:31:22
models对象是gtsummary表的列表。因此,正如您在创建表时所做的那样,您必须使用map在list上循环以向每个表添加显着性星号:
library(gtsummary)
library(tidyverse)
models %>%
map(
~ add_significance_stars(.x,
pattern = "{estimate}{stars}",
thresholds = c(0.001, 0.01, 0.05),
hide_ci = TRUE,
hide_p = TRUE,
hide_se = FALSE
)
)发布于 2022-09-19 21:31:34
正如您所指出的,models是类tbl_regression的对象列表。您可以只使用lapply,如下所示:
models = lapply(models,
add_significance_stars,
pattern = "{estimate}{stars}",
thresholds = c(0.001, 0.01, 0.05),
hide_ci = TRUE,
hide_p = TRUE,
hide_se = FALSE
) 或者,可以在原始的add_significance_stars()中包含对map()的调用。
https://stackoverflow.com/questions/73779426
复制相似问题