临床系列R包 | 第1期. 一个函数快速绘制基线表

文摘   教育   2024-11-08 21:01   北京  
BE声明学写文章②



 简     介

 Introduction 


本系列推送旨在为临床科研人提供临床研究中常用R包系统性学习分享。


在临床研究中, Table 1通常是研究报告中首个关键数据表,用于展示样本的基线特征,其在研究设计和结果解释中具有以下几个重要作用:

1. 描述研究对象的特征,包括研究中的基本人口统计信息和临床特征,例如年龄、性别、体重、病程、既往病史等。这些信息有助于读者理解研究样本的整体情况,以便评估其是否具有代表性、以及研究结果是否可推广到更广泛的人群中。

2. 比较组间平衡性,这对于随机对照试验尤其重要,因为组间特征平衡性可以降低混杂偏倚的可能性。

3. 确定潜在的混杂因素,Table 1有助于识别可能影响结果的混杂因素。通过检查这些特征,可以了解在统计模型中需要控制的变量。


因此,本期内容的第一期,我们将介绍 tableone 包的基础功能主要参数设置,帮助大家轻松创建基线表。


MASCU

R Package


本期演示数据将通过 R 语言自行模拟,帮助大家独立掌握数据处理的完整流程。




01

tableone包的基本功能


Tableone 包主要用于生成基线表,即快速输出样本分组特征的描述性统计信息。它能够按变量分组展示患者特征(如性别、年龄、体重、血糖等)在不同分组间的分布情况,是临床研究中不可缺少的工具。





02

tableone包的函数介绍


CreateTableOne() 是 Tableone 包的核心函数,能够生成基线表。以下是常用参数及其功能:


# Tableone包的安装和加载
install.packages("tableone"
library(tableone)

# 模拟数据
set.seed(123)
sample_data <- data.frame(
  age = round(runif(100, 20, 80)), 
  sex = sample(c("Male""Female"), 100, replace = TRUE),
  weight = round(rnorm(100, 70, 10), 1),
  glucose = round(rlnorm(100, meanlog = 4.5, sdlog = 0.5), 1),  # 模拟非正态血糖变量
  group = sample(c("Control""Treatment"), 100, replace = TRUE)
)

# 创建基线表
table <- CreateTableOne(
  vars = c("age""sex""weight""glucose"), # 包含的变量列表
  strata = "group"# 分组变量
  data = sample_data, # 数据框
  factorVars = "sex"# 分类变量
  test = TRUE, # 是否进行统计检验
  addOverall = TRUE # 是否添加总体列
)
baseline<-print(table, nonnormal = c("glucose")) # 指定非正态变量
write.csv(baseline, file = "baseline.csv"# 输出到桌面




03

主要参数解析与应用示例


vars定义基线表的变量,支持数值型和分类变量,多个变量可以用 c() 合并。常见的基线变量有 age、sex、BMI 等。

strata可用于指定分组变量,按分组展示各组的均值、标准差、比例等信息。该参数对比组间差异十分有用,如 group 表示治疗组和对照组的分组。

factorVars将指定变量转换为因子型变量,适用于分类数据的变量展示。

test如果设置 test=TRUE,则会自动计算组间差异的显著性(如 t 检验或卡方检验),便于评估组间差异的统计学意义。

addOverall若设为 TRUE,基线表会增加整体列,显示所有分组数据的综合统计信息,适用于查看整体数据分布情况。

nonnormal:指定非正态分布的变量,基线表将显示这些变量的中位数和四分位数,而不是均值和标准差。上例中设置 nonnormal = c("glucose"),即血糖按照非正态变量显示。




04

其他实用技巧


tableone 包支持更多功能,如通过 summary() 查看数据分布,确保变量格式合适;使用 svyCreateTableOne() 函数处理加权数据,以适应复杂抽样设计的需求。




05

参考文档与相关指南链接


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


Tableone 包的 CreateTableOne() 函数为生成基线表提供了便捷的途径,初学者只需简单设置即可快速输出各变量在不同分组间的统计描述,灵活处理正态和非正态变量,确保统计描述准确。这为后续数据分析打下了扎实基础。这就是本期的全部内容了,大家对于tableone还有问题吗?欢迎大家持续关注,大家也可用留言告诉我们想要学习的R包,我们一同学习进步!



今天的分享到这里就结束啦,你学会了吗?
大家对于推送内容有任何问题或建议可以在公众号菜单栏“更多--读者的话” 栏目中提出,我们会尽快回复!

期待已久~临床科研交流群来啦!


(欢迎大家入群交流~
若群满,请添加下方微信,备注:“进临床科研与统计_互助交流群” )





写在最后


“观科研”(点击进一步了解我们吧)是由一群北京协和医学院(清华大学医学部)的博士开创的公众号,初心是让医学科研有迹可循,帮助一线的医学科研人员更快地成长,希望大家支持与关注!

如果大家对分享医学科研知识感兴趣,特别欢迎加入我们,期待与您的相遇相识相知,也非常欢迎大家自主投稿,如果您有需要分享的内容或对我们有任何建议,可通过后台留言、
公众号菜单栏
“更多—读者的话”栏目进一步了解)或发送邮件至mascu_forever@163.com与我们交流并留下个人联系方式,我们会及时与您联系。

如果您觉得我们长期的干货推送对您的科研工作有所帮助,可以在合适的机会致谢(包括但不限于SCI论文、毕业论文等),格式如下:
 The authors thank the support of Skill Learning from Kaixin Doctor and MASCU (Medical Association with Science, Creativity, and Unity), Inc, Shenzhen, China (mascu_forever@163.com).


【大家的支持,是我们持续更新的动力!】


Pay attention!
微信公众号的推送规则发生改变(不再按照时间顺序来显示),如果没有将“观科研”设置为星标,你就可能错失里面的精彩推送。


点击“在看”,可参与讨论哦!

图文:睿观

审核:美观

编辑:云观

编审:静观


观科研
让医学科研有迹可循
 最新文章