在处理 gtsummary 的 tbl_continuous 中的连续变量时如何解决此错误

问题描述 投票:0回答:1

当我尝试创建 tbl_连续 时,我无法通过连续变量正确总结连续。下面的示例,您可以看到它不适当地转换为因子:

library(tidyverse)
library(gtsummary)
#> #StandWithUkraine

tbl_continuous(
    data = trial,
    variable = age,
    include = c(trt, grade, ttdeath)
) %>% add_p()

任何方向表示赞赏!

我尝试在 reprex 中制作它,但看起来不正确。我也将其发布到 Git Hub。

编辑:我有表

特点 N p 值

与所期望的相比:

特点 R2 p 值

这样我就可以描述连续对的连续和因子的关系。我知道它们可能无法很好地融合,但我很高兴将它们分开。希望能澄清,谢谢@Ben 的表格说明!

r statistics gtsummary
1个回答
0
投票

以下是如何将相关系数添加到表中的示例。请注意,您应该使用

modify_footnote()
更新脚注以反映表中现在的内容。

library(tidyverse)
library(gtsummary)

# build base table
tbl_base <-
  tbl_continuous(
    data = trial,
    variable = age,
    include = c(trt, grade)
  ) %>% 
  add_p()

# these are the underlying column names
show_header_names(tbl_base)
#> ℹ As a usage guide, the code below re-creates the current column headers.
#> modify_header(
#>   label = '**Characteristic**',
#>   stat_0 = '**N = 200**',
#>   p.value = '**p-value**'
#> )
#> 
#> 
#> Column Name   Column Header      
#> ------------  -------------------
#> label         **Characteristic** 
#> stat_0        **N = 200**        
#> p.value       **p-value**

# build a data frame with matching colnames as the base table
df_pearson <- 
  cor.test(trial$ttdeath, trial$age) |> 
  broom::tidy() |> 
  select(estimate, p.value) |> 
  mutate(
    stat_0 = round(estimate, 3) |> as.character(),
    variable = "ttdeath", 
    label = "Time to Death, months"
  )

# add correlation results to the base table
tbl_base |> 
  modify_table_body(
    ~.x |> bind_rows(df_pearson)
  ) |> 
  as_kable() # convert to kable to present on stackoverflow
特点 N = 200 p 值
化疗治疗 0.7
药物A 46 (37, 59)
药物B 48 (39, 56)
等级 0.8
47 (37, 56)
49 (37, 57)
III 47 (38, 58)
死亡时间,几个月 -0.051 0.5

# use modify_footnote() to update the footnotes to reflect what's presented in the table

创建于 2024-01-15,使用 reprex v2.0.2

© www.soinside.com 2019 - 2024. All rights reserved.