为了测试疾病组(categorical_variable(和疾病(结果;计数(之间是否存在关联,我运行了3个负二项回归模型。
要显示OR和CI,我正在使用程序包gtsummary
中的tbl_regression
函数。但是,此函数会显示用逗号划定的CI(我希望它们位于括号之间(,并显示p值(我希望将其全部压制在一起(。
我的代码:
library(gtsummary)
model <- glm(data=data, formula=outcome ~ categorical_variable)
tbl_regression(model,
exponentiate = TRUE,
include="categorical_variable")
关于设置CI的格式和抑制p值列,有什么帮助吗?
我尝试添加%>% as_gt() %>% cols_hide("p-value")
和%>% as_gt() %>% cols_hide(columns=vars("p-value"))
,但都没有成功。它表示,它不将p值视为列(没有括号也不起作用(。
如果res
是上述问题中的对象,即gtsummary
对象,则可以如下修改查看器窗格中显示的表体。这里,我使用dplyr
的select
函数(modify_table_body
需要一个函数(来排除p值列。
gtsummary::modify_table_body(res, dplyr::select, -p.value)
我只想使用base
:
p_val_col<-which(names(res$table_body)=="p.value")
gtsummary::modify_table_body(res, `[`, -p_val_col)
要修改ci
的显示(您可能可以编写一个比这简单得多的正则表达式(,请按以下方式运行(同时运行(。可以编写一个函数,一次完成此操作,而不是两次调用modify_table_body
:
gtsummary::modify_table_body(res, `[`, -23) %>%
gtsummary::modify_table_body(., dplyr::mutate,
ci=gsub("(\d\.\d{,4})(, )(\d\.\d{,4})"
,"\[\1 \3\]",ci))
正如Elin提到的单表情况:
tbl_regression(model,
exponentiate = TRUE,
include="categorical_variable") %>%
modify_column_hide(columns = p.value)
对于具有两个(或多个(回归模型的情况:
tbl_merge(
tbls = list(tbl_regression(model1),
tbl_regression(model2))
) %>%
modify_column_hide(columns = c(p.value_1, p.value_2)