在 gtsummary 中添加 OR,使用 beta/log(OR) 和 SE
Add OR, with beta/log(OR), and SE in gtsummary
我想在下面的 table 中的 log(OR) 之前添加 OR:
library(tidyverse)
library(gtsummary)
dat <-
iris %>%
filter(Species != "setosa")
glm(Species ~ ., family = binomial(), data = dat) %>%
tbl_regression() %>%
modify_column_hide(columns = ci) %>%
modify_column_unhide(columns = std.error)
有想法还是不可能?
谢谢
您可以使用 modify_table_body()
通过 OR 添加新列。添加新列后,您需要添加一个列 header 并向 style/format 新列指定一个函数。
library(tidyverse)
library(gtsummary)
packageVersion("gtsummary")
#> [1] '1.4.2'
dat <-
iris %>%
filter(Species != "setosa")
tbl <-
glm(Species ~ ., family = binomial(), data = dat) %>%
tbl_regression() %>%
# add OR to `.$table_body`
modify_table_body(
~.x %>%
mutate(estimate_exp = exp(estimate), .before = estimate)
) %>%
# style new column with header and formatting function
modify_header(estimate_exp ~ "**OR**") %>%
modify_fmt_fun(estimate_exp ~ style_sigfig) %>%
# hide CI and show SE
modify_column_hide(columns = ci) %>%
modify_column_unhide(columns = std.error)
由 reprex package (v2.0.1)
于 2021-09-18 创建
我想在下面的 table 中的 log(OR) 之前添加 OR:
library(tidyverse)
library(gtsummary)
dat <-
iris %>%
filter(Species != "setosa")
glm(Species ~ ., family = binomial(), data = dat) %>%
tbl_regression() %>%
modify_column_hide(columns = ci) %>%
modify_column_unhide(columns = std.error)
有想法还是不可能? 谢谢
您可以使用 modify_table_body()
通过 OR 添加新列。添加新列后,您需要添加一个列 header 并向 style/format 新列指定一个函数。
library(tidyverse)
library(gtsummary)
packageVersion("gtsummary")
#> [1] '1.4.2'
dat <-
iris %>%
filter(Species != "setosa")
tbl <-
glm(Species ~ ., family = binomial(), data = dat) %>%
tbl_regression() %>%
# add OR to `.$table_body`
modify_table_body(
~.x %>%
mutate(estimate_exp = exp(estimate), .before = estimate)
) %>%
# style new column with header and formatting function
modify_header(estimate_exp ~ "**OR**") %>%
modify_fmt_fun(estimate_exp ~ style_sigfig) %>%
# hide CI and show SE
modify_column_hide(columns = ci) %>%
modify_column_unhide(columns = std.error)