专栏首页生信补给站R|tableone 快速绘制文章“表一”-基线特征三线表

R|tableone 快速绘制文章“表一”-基线特征三线表

生物医学或其他研究论文中的“表一”多为基线特征的描述性统计。使用R单独进行统计,汇总,然后结果复制到excel表中,耗时耗力且易错!

tableone包“应运而生”,可以非常简单快捷的解决这个问题,重点是学习成本很低,大概几分钟?

一 载入数据 R包

## install.packages("tableone")
library(tableone)
library(survival)
data(pbc)
head(pbc)

二 单组汇总

1 汇总整个数据集

对pbc整个数据集进行描述汇总,使用CreateTableOne()即可

tab1 <- CreateTableOne(data = pbc)
print(tab1)

由于数据中的分类变量是数值形式,所以分类变量展示的也是均值(标准差)。

2 设置变量类型

dput(names(pbc)) # 输出据集变量名称
## 需要汇总的变量
myVars <- c("time", "status", "trt", "age", "sex", "ascites", "edema", "bili",  "copper", "ast", "stage")
## 需要转为分类变量的变量
catVars <- c("status", "trt", "ascites", "stage")
## Create a TableOne object
tab2 <- CreateTableOne(vars = myVars, data = pbc, factorVars = catVars)
print(tab2, showAllLevels = TRUE)

showAllLevels = TRUE 会展示分类变量的所有分类因子的结果。

此处随意选择一些变量进行功能展示, 分类变量显示计数和百分比 。

3 非正态分布变量

由于默认连续变量呈正态分布,因此上面的连续变量均表示为均数+标准差。

实际数据中的非正态分布数据,可通过nonnormal指定,则此变量展示为中位数(四分位数)。

#假设"bili","chol","copper"非正态分布
biomarkers <- c("bili","copper","ast")
print(tab2, nonnormal = biomarkers)

可见"bili","ast","copper"均用中位数(四分位数)表示;如果设置nonnormal = TRUE,则所有变量都按非正态分布处理。

三 多组汇总

1 分组统计

实际结果中,通常需要对数据集按照某个变量的分组进行汇总。下面展示使用trt进行分组汇总:

tab3 <- CreateTableOne(vars = myVars, strata = "trt" , data = pbc, factorVars = catVars)
tab3

注意NA不作为分组

结果可看出,对trt进行分组且对每一组均进行了汇总,且统计输出了检验的P值。

检验方法:分类变量默认使用卡方检验 chisq.test();连续变量默认使用方差分析oneway.test(),当两组时方差分析等用于t检验。

2 定义检验方式

非正态性的数据展示方式为中位数(四分位数),检验方式也最好不使用T检验:

非正态分布的连续变量使用kruskal.test()检验,两组间比较时,kruskal.test()wilcox.test()等效;

分类变量可使用fisher.test()进行fisher精确检验,通过exact()指定进行fisher精确检验的变量。

#addOverall 添加Overall信息
tab4 <- CreateTableOne(vars = myVars, strata = "trt" , data = pbc, factorVars = catVars,
                     addOverall = TRUE )
#exact设置fisher精确检验的变量
print(tab4, nonnormal = biomarkers, exact = "stage")

四 导出结果

使用write.csv一键导出结果

tab4Mat <- print(tab4, nonnormal = biomarkers, exact = "stage", quote = FALSE, noSpaces = TRUE, printToggle = FALSE, showAllLevels = TRUE)
## 保存为 CSV 格式文件
write.csv(tab4Mat, file = "myTable.csv")

随便套用了一个表格格式,可以在excel中弄成喜(文)欢(章)的样式,这个自己发挥吧。

参考资料:

https://cran.r-project.org/web/packages/tableone/vignettes/introduction.html

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

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

原始发表时间:2020-03-17

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 精心整理(含图PLUS版)|R语言生信分析,可视化

    为了能更方便的查看,检索,对文章进行了精心的整理(PLUS)。建议收藏,各取所需,当前没用也许以后就用到了呢!

    西游东行
  • 手把手教你绘制临床三线表

    各位科研芝士的小伙伴,本站本着给大家提供科研便利的宗旨,继续给大家提供干货, 一般的临床研究,统计分析就“三把斧”:统计描述、差异性比较和回归建模。R语言完美解...

    百味科研芝士
  • R语言完成自动化三线表

    但是迁移到临床数据里面,就稍微复杂了一点,就是把条目繁多的临床资料整理一下,比如下面这些信息:

    生信技能树
  • 【科研猫·绘图】优雅版·小提琴图(带R代码分享)

    课前准备,R语言的安装和配置都OK了吗?生物信息系列课程-R语言入门;挖掘GEO速成SCI文章系列教程(3)-R语言基础。小板凳排排坐,飞飞老师要开课~

    用户6317549
  • 手把手教你绘制临床基线特征表

    compareGroups包可以通过分组变量来创建单变量分析结果的基线特征表,在创建出表格后可以导出各种格式用于报告。

    百味科研芝士
  • 【科研猫·绘图】看·箱线图·如何美丽动人(代码分享)

    往期的教程里详细为大家做了R语言安装和环境配置的课程,错过的喵咪们,课前赶紧复习一下吧。生物信息系列课程-R语言入门;挖掘GEO速成SCI文章系列教程(3)-R...

    用户6317549
  • 推荐5个分享 R语言 学习笔记干货 的公众号

    R语言的学习途径主要有几个:一个是R语言书籍;一个是R帮助文档;还有就是R视频和一些干货教程了。越来越多的R学习者开始在网上分享自己的学习笔记,有的人会搭建自己...

    庄闪闪
  • 谷歌Transformer再升级——新模型实现性能、速度双提升,发展潜力巨大

    “数据猿年度重磅活动预告:2020年度金猿策划活动(金猿榜单发布+金猿奖杯颁发)即将推出,尽情咨询期待!

    数据猿
  • 史上最贴心R包安装示范视频

    1990年,伊丽莎白·牛顿在斯坦福大学通过研究一个简单的游戏获得了心理学博士学位。在这个游戏中,她把参与者分为两种角色:“敲击者”和“听众”。敲击者拿到一张25...

    生信技能树

扫码关注云+社区

领取腾讯云代金券