手把手教你绘制临床基线特征表

时间:2022-07-25
本文章向大家介绍手把手教你绘制临床基线特征表,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

临床研究中常需要绘制两组或多组患者(如非AKI组和AKI组)的基线特征表。

下图就是临床中常见的基线特征表。

那么在R中怎么快速绘制绘制临床论文中的基线特征表1

今天介绍一个新的绘制基线表的包——compareGroups


目 录

  • 1. 安装和加载R包
  • 2. 加载数据集
  • 3. 描述总研究人群(overall列)
  • 4. 选择研究人群
    • 4.1 选择分组变量
    • 4.2 选择部分变量
    • 4.3 选择亚组人群
  • 5. 连续变量的统计检验
  • 6. 绘制分层基线特征表
  • 7. 导出基线特征表
    • 7.1 导出csv文件
    • 7.2 导出Excel文件
    • 7.3 导出Word文件
    • 7.4 导出PDF文件

1. 安装和加载R包

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

在使用之前先安装和加载R包。

install.packages("compareGroups")  # 安装包
library(compareGroups)  # 加载包

2. 加载数据集

PREDIMED研究是一项随机、多中心队列研究,共7000余名研究对象,选取其中部分数据进行演示说明。

研究人群在纳入研究前时没有心血管疾病,但是有心血管风险。

将研究人群随机分为3组,每组采用不同的饮食(对照组+低脂饮食、橄榄油+地中海饮食、坚果+地中海饮食),然后随访观察主要不良心血管事件的发生率。

data(predimed) # 加载数据集
View(predimed) # 预览数据集

数据集中变量介绍:

group # 分组变量,不同的饮食方式(Control; MedDiet + Nuts; MedDiet + VOO)
sex # 性别,男性和女性 
age # 年龄
smoke # 吸烟,三个水平Never、Current、Former
bmi # 体重指数
waist # 腰围
wth # 腰高比
htn # 因子,是否为高血压,No和Yes
diab # 因子,是否为糖尿病,No和Yes
hyperchol # 因子,是否为高血脂,No和Yes
famhist # 因子,是否有冠心病家族史,No和Yes
hormo # 因子,是否使用激素替代疗法,No和Yes
p14 # MeDiet坚持得分
toevent # 主要结局的随访时间(年)。
event # 因子,是否发生感兴趣结局,No和Yes

看下数据集各变量信息。

str(predimed) # 查看数据集结构

从上面我们可以看到,数据集中的分类变量都显示为因子,并且都添加了标签。

在使用compareGroups包前需要注意下:

  1. 需要知道数据集中哪些变量是分类变量,将其编码为因子,并注意是不是有序分类变量;
  2. 给分类变量添加标签属性,默认情况下输出的基线特征表会包含变量标签。

今天用来绘制基线特征表的主要是compareGroups包的descrTable()函数。

3. 描述总研究人群(overall列)

先不分组,描述下总样本人群。

descrTable( ~ ., data = predimed)
  • ~ 的左边为分组变量或不填变量,不填变量则计算总研究人群的基线特征,并且不进行统计检验;
  • ~ 的右边为基线特征表中需要统计分析的变量,如果没填变量仅出现一个.,则默认数据集的全部变量进行统计。

从上面可以看出,基线表结果显示的很清楚,虽然大部分变量都没有缺失值,但是hormo变量存在缺失值。

4. 选择研究人群

4.1 选择分组变量

在上面我们简单的统计描述了下总样本人群的基线特征,下面可以添加分组变量分析看看。

group为分类变量,也是基线表的y变量,表示不同的饮食方式。

descrTable(group ~ ., data = predimed)

4.2 选择部分变量

上面我们简单统计描述了下总研究人群以及添加分组变量后研究人群的基线特征,但是我们纳入的是数据集中的所有变量,有时我们不需要这么多的变量进行统计分析。

下面我们只纳入数据集中的部分变量进行统计分析。

比如我只纳入五个变量进行分析。

descrTable(group ~ age + sex + smoke + waist + hormo,  # 左边为分组变量,右边为基线表行变量
           data = predimed)  # 数据集 

如果基线表纳入的变量较多,也可以选择移除数据集中变量的形式来绘制基线特征表。

可以通过-号的形式移除下面这四个变量。

descrTable(group ~ . - toevent - event - diab - p14, 
           data = predimed)  

4.3 选择亚组人群

除了选择部分变量进行统计分析外,我们还可以选择亚组人群进行分析,比如说只选取女性进行分析。

descrTable(group ~ age + smoke + waist + hormo + toevent + event + diab + p14, 
           data = predimed,                     
           subset = sex == "Female")   

除了选择亚组人群外,还可以在亚组人群基础上选取特定变量进行研究。

descrTable(group ~ age + sex + smoke + waist + hormo, 
           data = predimed, 
           selec = list(hormo = sex == "Female", waist = waist > 20)) 

基线特征表中的变量可以在公式中出现两次,比如说bmi:

descrTable(group ~ age + sex + bmi + bmi + waist + hormo, 
           data = predimed, 
           selec = list(bmi.1 = !is.na(hormo)))  

输出的基线表中会报告两次bmi的统计结果,第一个bmi表示所有患者的bmi结果,第二个bmi是报告hormo变量中排除缺失值时研究患者的bmi结果。

5. 连续变量的统计检验

默认情况下,连续变量认为是正态分布变量,在生成基线特征表时,将使用均值+标准差描述连续变量。

如果要指定某一连续变量为非正态分布变量,比如说指定waist为非正态分布变量,则:

descrTable(group ~ age + smoke + waist + hormo, 
           data = predimed,               
           method = c(waist = 2)) 

上面的结果中waist变量被描述为中位数+四分位数。

method中的数字:1表示正态分布;2表示连续非正态;3表示分类变量;NA表示执行Shapiro-Wilks检验来确定是正态还是非正态分布。

如果参数method使用的是NA,还可以使用alpha参数来指定统计学意义的阈值。

6. 绘制分层基线特征表

有时我们需要绘制分层后的基线特征表,绘制分层基线特征表的函数为strataTable()函数。

绘制很简单,先使用descrTable()函数绘制一个基线表,在使用strataTable()函数绘制分层基线表。

restab <- descrTable(group ~ age + smoke + bmi + waist + hormo, 
                     data = predimed)  
strataTable(restab, "sex")

如上图所示,我们就绘制好了分层基线特征表了。

7. 导出基线特征表

在绘制好基线特征表后,就是输出表格了。

R包支持输出的格式有很多(如CSV/HTML/LaTeX/PDF/Markdown/Word/Excel),我们一般常用csv/xls/word/PDF格式,所以就演示输出这几种格式文件。

## 先绘制一个基线特征表
restab <- descrTable(group ~ age + smoke + bmi + waist + hormo, 
                     data = predimed)  
restab

7.1 导出csv文件

export2csv(restab, file='table1.csv')

7.2 导出Excel文件

export2xls(restab, file='table1.xlsx')

7.3 导出Word文件

export2word(restab, file='table1.docx')

7.4 导出PDF文件

export2pdf(restab, file='table1.pdf')

上面的四种导入方式各有各的优点,自己看情况输出自己需要的格式。

这个包我会好好研究下,后面还会有推文介绍怎么计算OR值/HR值、基线表输出结果调整等。

参考资料

1. compareGroups包帮助文件