如何将tbl_regression输出的gtsummary对象转为gt表格或tibble?
解决tbl_regression对象转tibble的方法
有两种可靠的方式可以将tbl_regression生成的gtsummary对象转换为tibble:
方法1:使用gtsummary内置的as_tibble()方法
gtsummary包本身提供了适配其对象的as_tibble()实现,直接调用就能得到结构清晰的结构化数据:
library(gtsummary) library(tibble) # 假设gts是你的tbl_regression对象 gts_tibble <- as_tibble(gts)
该方法会保留变量名、统计量、置信区间等核心内容,不会出现混乱输出。
方法2:先转gt再提取数据
如果需要先转为gt对象再转tibble,不能直接用as.data.frame(),要借助gt包的extract_body()提取表格主体数据后再转换:
library(gt) # 转换为gt对象后提取主体数据转为tibble gts_gt <- as_gt(gts) gts_tibble <- gts_gt %>% extract_body() %>% as_tibble()
这种方式得到的内容和gt表格可视化展示的结构一致,适合需要保留表格展示格式对应内容的场景。
注意:不要直接用基础包的as.data.frame()或as_tibble()处理gt对象,因为gt对象包含大量格式元数据,直接转换会混入无关内容导致输出混乱。
内容的提问来源于stack exchange,提问作者Andrzej Andrzej
相关产品推荐
相关产品推荐

