有没有一种方法可以压制R中tbl_回归函数中的p值



为了测试疾病组(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对象,则可以如下修改查看器窗格中显示的表体。这里,我使用dplyrselect函数(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)

最新更新