gtsummary|巧合-绘制多种数据汇总表“神器”

简介: gtsummary|巧合-绘制多种数据汇总表“神器”


巧合?

今(昨)天上午时候交流群里一个小伙伴关于管道符疑问中出现了tbl_summary函数,下午另一个小伙伴有table1相关疑问。

晚上想起上午时候提示我没有tbl_summary函数,查到是gtsummary包的,习惯性看了下包的功能,这不是也可以绘制三线表?

惊了,于是有了这篇分享。

1下载R包,数据


使用内置数据集演示

#install.packages("gtsummary")
library(gtsummary)
#查看内置数据集
head(trial)


2绘制table1


2.1 简单表格

#先选择部分变量进行展示
trial2 <- trial %>% select(age, grade, death, trt)
# 绘制
table1 <- tbl_summary(trial2)
table1

可以看到连续型变量使用的是中位数(四分位数),分类变量使用的 个数(比例)。

但是不是缺点什么?

文献中的表1,是不是会有分组是不是会有总体描述是不是会有P值是不是会有mean(sd) 那就加!


2.2 小修小改

1)添加一下参数,完成上述需求

table2 <-
 tbl_summary(
   trial2,
   by = trt, # 分组
   statistic = list(all_continuous() ~ "{mean} ({sd})"),  
   missing = "no" #
) %>%
 add_n() %>% # 添加非NA观测值个数
 add_p() %>% # 添加P值
 add_overall() %>%
 modify_header(label = "**Variable**") %>% # 标签列header
 bold_labels()  #label 粗体

呐,都有了 。。。


2)又发现连续型数据的检验方式可不可以用t检验?必须可以!

table3 <-
 tbl_summary(
   trial2,
   by = trt, # 分组
   statistic = list(all_continuous() ~ "{mean} ({sd})")
) %>%
 add_p(test = list(all_continuous() ~ "t.test"))  # 添加P值

就可以根据需求,结合着使用就可以绘制文献中的 “Table1”了 !

那为什么题目不叫绘制表一,因为表2 ,表3也能绘制啊!


3模型结果数据

3.1 逻辑回归模型

#构建逻辑回归
mod1 <- glm(response ~ trt + age + grade, trial, family = binomial)
t1 <- tbl_regression(mod1, exponentiate = TRUE)
t1

直接把结果提取出来了 且 绘制成了表格,不香吗?


3.2 COX生存分析

生信中出镜率极高的COX生存模型呢,结果可以直接用吗?

自信点,去掉吗

library(survival)
t2 <-
 coxph(Surv(ttdeath, death) ~ trt + grade + age, trial) %>%
 tbl_regression(exponentiate = TRUE)
t2

HR , 95%CI ,P value 都有了,,,


3.3 结果合并

甚至你还可以用tbl_merge函数将多个结果合并在一起,,这有点6了啊

# merge tables
tbl_merge_ex1 <-
 tbl_merge(
   tbls = list(t1, t2),
   tab_spanner = c("**Tumor Response**", "**Time to Death**") #防止混淆,定义名字
)

好了,多谢“巧合”,发现了一个简单实用的绘制多种统计表的方式。


目录
打赏
0
0
0
0
21
分享
相关文章
Qt 关于mouseTracking鼠标追踪和tabletTracking平板追踪的几点官方说明
Qt 关于mouseTracking鼠标追踪和tabletTracking平板追踪的几点官方说明
【Axure教程】移动端图片管理、上传、分享原型
【Axure教程】移动端图片管理、上传、分享原型
【Axure教程】移动端图片管理、上传、分享原型
Linux虚拟机与主机和Xshell的连接问题解决
Linux虚拟机与主机和Xshell的连接问题解决
319 1
【conan 入门教程】介绍 conanfile.py中的默认方法的作用
【conan 入门教程】介绍 conanfile.py中的默认方法的作用
739 0
ffmpeg笔记(二)windows下和ubuntu-16.04下ffmpeg编译
ffmpeg笔记(二)windows下和ubuntu-16.04下ffmpeg编译
276 0
JAVA EE十三大规范(1)RMI(全网最深入浅出)
1.概述 RPC: RPC(Remote Procedure Call),一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议,RPC可以用HTTP协议实现,并且用HTTP是建立在 TCP 之上最广泛使用的 RPC,但是互联网公司往往用自己的私有协议,比如鹅厂的JCE协议,私有协议不具备通用性但是相比于HTTP协议,RPC采用二进制字节码传输,更加高效也更加安全。 用一个比较形象的例子来形容,你老婆出去打麻将,然后想起家里洗衣机里的衣服还没洗,于是打电话给在家里的你,叫你把洗衣机里的衣服洗了,这就是远程过程调用。微服务中服务的调用底层就是使用的RPC机制。
302 0
R语言如何快速安装R包?常见方法与报错解决方案汇总,适用于Windows、Mac、Linux多平台
R语言如何快速安装R包?常见方法与报错解决方案汇总,适用于Windows、Mac、Linux多平台
SpringBoot中如何实现限流,这种方式才叫优雅!
SpringBoot中如何实现限流,这种方式才叫优雅!
408 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问