使用 gtsummary 包将总 N 的 f 变量添加到 tbl_regression

Adding total N's f variable to tbl_regression using gtsummary package

我试图在 tbl_regression table 的每个变量中添加一个包含观察总数的列。在 tbl_summary 中,函数 add_n() 允许您这样做。但是,在 tbl_regession 中,此选项并不直接。

我试图通过在 tbl_regressionmodify_header 函数中包含 N 参数来做到这一点,但这里的问题是变量中的级别也有变量的 N。例如,使用下面的代码,Species 变量有 150 个观测值,Species 的所有级别的 N 等于 150(见下图).有没有办法让 Species 变量有 N 而不是级别?非常感谢任何帮助。

# load packages
library(gtsummary)
theme_gtsummary_compact()

# build model
mod <- lm(Petal.Width ~ Species + Petal.Length, data = iris) %>%
  tbl_regression(exponentiate = TRUE) %>%
  modify_header(update = list(
  estimate ~ '**Coefficient**',
  ci~ '**95% CI**',
  N ~ '**N**'
))

mod

add_n() 函数包括来自模型的观察值的数量,并且还可以报告分类变量中的 Ns。这里有一些例子。所有示例都使用 kable 而不是 gt 打印,以准确显示在 reprex 中。

library(gtsummary)
packageVersion("gtsummary")
#> [1] '1.4.0'

# build model
tbl <- 
  lm(Petal.Width ~ Species + Petal.Length, data = iris) %>%
  tbl_regression() %>%
  bold_labels()

# add N to the header
tbl %>%
  modify_header(update = label ~ "**Characteristic (N = {n})**") %>%
  as_kable()
Characteristic (N = 150) Beta 95% CI p-value
Species
setosa
versicolor 0.44 0.23, 0.64 <0.001
virginica 0.84 0.55, 1.1 <0.001
Petal.Length 0.23 0.16, 0.30 <0.001
# add N to variable label rows
tbl %>%
  add_n() %>%
  as_kable()
Characteristic N Beta 95% CI p-value
Species 150
setosa
versicolor 0.44 0.23, 0.64 <0.001
virginica 0.84 0.55, 1.1 <0.001
Petal.Length 150 0.23 0.16, 0.30 <0.001
# add N to variable label and level rows
tbl %>%
  add_n(location = "level") %>%
  as_kable()
Characteristic N Beta 95% CI p-value
Species
setosa 50
versicolor 50 0.44 0.23, 0.64 <0.001
virginica 50 0.84 0.55, 1.1 <0.001
Petal.Length 150 0.23 0.16, 0.30 <0.001

reprex package (v2.0.0)

于 2021-04-15 创建