专栏首页生信补给站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**") #防止混淆,定义名字
  )

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

四 参考资料:

http://www.danieldsjoberg.com/gtsummary/

http://www.danieldsjoberg.com/gtsummary/articles/gallery.html

本文分享自微信公众号 - 生信补给站(Bioinfo_R_Python),作者:生信补给站

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-01-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • NLP(4)——用词向量技术简单分析红楼梦人物关系用n-gramma生成词向量word2vect进行模型训练

    前言:出于种种原因,总是不自觉把爱好和工作相互结合起来,每每感叹于曹雪芹构思的巧妙,语言的精炼,情节的感人……于是蹦出想法,看机器能否读懂“宝黛”之间的爱情。

    DC童生
  • 【数据可视化】:18张最牛逼信息图

    我 们生活在一个信息大爆炸的时代,每天都有很多的新消息、新发现、新趋势向我们狂轰乱炸而来,如果想用“学海无涯苦作舟”的精神梳理清楚这些包含了各个领域 (历史、心...

    小莹莹
  • 数据可视化 | 史上18张最牛的信息图

    来自 | fastcompany 我们生活在一个信息大爆炸的时代,每天都有很多的新消息、新发现、新趋势向我们狂轰乱炸而来,如果想用“学海无涯苦作舟”的精神梳理清...

    CDA数据分析师
  • 教你掌握Excel中最为重要的逻辑 ——「链接」(一)

    如果把Excel比作武侠小说中的“剑”,那么按照武侠小说中御“剑”能力的高低程度可以大致将剑客分为以下几个等级: Level 1(剑客):小说中常见的劫匪甲乙...

    CDA数据分析师
  • IBM利用AI算法扩展用来描述气味的词汇

    大多数人无法用正确的词语来描述他们闻到的气味。虽然人类可以辨别出一万亿种气味,但我们的词汇量有限。像“果味”或“麝香”这样的术语不仅不精确,而且还受到文化偏见的...

    AiTechYun
  • 前端文章收藏

    前端GoGoGo
  • 数据分析必备!Pandas实用手册(PART III)

    ? https://colab.research.google.com/drive/1WhKCNkx6VnX1TS8uarTICIK2ViPzNDjw

    NewBeeNLP
  • 还在收集资料?我这里有个github汇总

    国内程序员都喜欢收集资料,但是又不看,github是重灾区。更有莫名其妙fork的,让人不得要领。这些资料其实也代表了收集者的一个思路,还是有不小参考价值的。

    xjjdog
  • 资源 | 深度学习自动前端开发:从草图到HTML只需5秒(附代码)

    选自InsightDataScience 作者:Ashwin Kumar 机器之心编译 参与:乾树、李泽南 在人们的不断探索下,「使用人工智能自动生成网页」的方...

    机器之心

扫码关注云+社区

领取腾讯云代金券