前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手把手教你绘制临床三线表

手把手教你绘制临床三线表

作者头像
百味科研芝士
发布2019-11-13 19:30:53
2.2K0
发布2019-11-13 19:30:53
举报
文章被收录于专栏:百味科研芝士百味科研芝士

点击蓝字关注我们

各位科研芝士的小伙伴,本站本着给大家提供科研便利的宗旨,继续给大家提供干货, 一般的临床研究,统计分析就“三把斧”:统计描述、差异性比较和回归建模。R语言完美解决了统计分析“三把斧”结果整理成规范三线表的麻烦。在统计描述上,R可以根据不同数据的特征给出不同的统计描述方法,在差异性比较方面,R可以给出不同数据比较的不同差异性比较方法,包括t、F、卡方、fisher法和秩和检验;在回归分析上,不仅是Cox回归,线性回归、logistic回归,R同样可以形成规范的表格。这些表格,如果人工来整理,不仅慢,而且不规范!今天我们就攻下这个高地,学习一下如何整理成三线表。

1. 准备工作

导入R语言两个重要的包 tableone和survival工具包,导入数据pbc(该数据来自survival包中梅奥诊所原发性胆汁性肝硬化pbc数据,共有424例PBC患者参与了10年的生存分析,具体数据描述可以在R帮助中搜索pbc查看),直接install和library即可

2. 过滤缺失值

我们发现pbc数据中含有较多的缺失值,首先我们简单统计每列的缺失值个数,对存在缺失值的行,我们进行了剔除,接着我们继续进行统计一下缺失值,如下,发现最开始一些列存在缺失值,剔除之后,缺失值个数均变为0了。

3. 数据类型

常看数据类型,发现该数据集一共20个变量,276行:

将分类变量转化为因子变量,可以看到有一些分类变量是数值型,比如status,至于为什么都需要转换,看到后面就知道了。

4.创建三线表

创建table one的函数非常简单,CreatTableOne()函数只需要指出需描述的变量(即前面的vars变量列表),strata参数说明按照trt变量分层即可。注意的是如果前面没有指定分类变量类型,tableone会以数值型变量处理你的变量,这也就是需要提前指定分类变量的原因。我们首先不填充分层变量,你会发现主要是对总体数据的统计,如下:

5. 填充分层变量

我们按照thr分层变量,进行填充,结果如下,可以看到一个非常熟悉的表格了,行分别为n(病例个数)、time、status等等需要比较的变量,列为不同分组。可以发现计量数据都是用“(mean (sd))”描述,分类变量用“ (%) ”表示,而且还神奇的算出了P值。默认情况下,tableone使用正态分布方法分析资料,因此会出现“(mean (sd))”的描述,但是像本例中的临床生化指标,属于偏态分布,用“(mean (sd))”描述是错误的,我们需要进一步矫正。

6. 指定统计分析方法

在这里我们通过nonnormal =指定对血清胆红素bili)、血清胆固醇(chol)、尿铜(copper)等临床生化非正态指标用非参检验方法,对生存状态("status")、临床分期(stage)用Fisher检验。同时用cramVars参数可以显示两个水平的分类变量构成比,smd参数为显示standardized mean differences。

可以看到指定的非正态资料使用“median [IQR]”来表示数据了,而且在test列也出现了P值计算使用的方法,空着的地方代表使用默认的正态分布的分析方法,最后一列为SMD数值,这一切都是我们需要的。

7. 文件导出

结果如下:

Ok,这样的话我们就可以实现三线表的绘制,是不是很简单呢!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 百味科研芝士 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档