如何使用 R 中的 gtsummary 包向表中的标签添加下标?

How do I add subscripts to labels in tables using the gtsummary package in R?

我想在 R 包 gtsummary 中使用 tbl_regression 生成的回归摘要 table 的变量名中引入下标。任何人都可以提供有关如何执行此操作的指导吗?用于生成 table 的代码和生成的 table 如下所示。我希望标签 "NO2" 显示为 "NO2".

library(tidyverse)
library(gtsummary)

case <- c(0,1,0,0,0,0)
no2 <- c(17, 14, 8, 9, 9, 7)
df <- data.frame(case, no2)

mod_adj <- glm(case~no2,data=df, family="binomial")

regression_table_adj <- mod_adj %>% 
  tbl_regression(exponentiate = TRUE,  label = list(no2~"NO2"))

regression_table_adj

reprex package (v0.3.0)

于 2020-03-04 创建

A table produced using tbl_regression in the R package gtsummary showing a coefficient name that I want to contain a numeric subscript

gtsummary包默认使用gt包打印tables。我查看了他们的文档,但没有看到在 table.

的正文中包含下标的方法

好消息是 gtsummary 还支持通过 as_kable() 函数使用 knitr::kable() 打印 tables。您可以在两个 tildas 之间换行以使其成为下标(例如 label = list(no2 ~ "NO~2~"))。在 R markdown 文件中使用下面的代码,你应该得到下标。使用 kable 的缺点是它不支持脚注、缩进和跨页眉。编码愉快!

library(gtsummary)

case <- c(0,1,0,0,0,0)
no2 <- c(17, 14, 8, 9, 9, 7)
df <- data.frame(case, no2)

mod_adj <- glm(case~no2,data=df, family="binomial")

mod_adj %>% 
  tbl_regression(
    exponentiate = TRUE,  
    label = list(no2 ~ "NO~2~")
  ) %>% 
  as_kable()

reprex package (v0.3.0)

于 2020-03-04 创建

这不是我的,但我在这里找到了答案并进行了改编。 https://community.rstudio.com/t/subscripts-to-annotate-gt-table/87089

本质上,您会将其转换为 gt 对象并修改标签,使其打印为下标。

library(tidyverse)
library(gtsummary)
library(gt)

case <- c(0,1,0,0,0,0)
no2 <- c(17, 14, 8, 9, 9, 7)
df <- data.frame(case, no2)

mod_adj <- glm(case~no2,data=df, family="binomial")

regression_table_adj <- mod_adj %>% 
  tbl_regression(exponentiate = TRUE,  label = list(no2 = "NO@2~")) %>%
  as_gt() %>%
  text_transform(
    locations = cells_body(),
    fn = function(x) {
      str_replace_all(x,
                      pattern = "@",
                      replacement = "<sub>") %>% 
        str_replace_all("~",
                        "</sub>") }
  )

Image of Table

是的,可以轻松替换符号。我认为使用 '~' 以外的东西会更好,因为它很容易意味着其他东西。