介绍一个新的基线特征表绘制R包
临床研究中常需要绘制两组或多组患者(如非AKI组和AKI组)的基线特征表。
下图就是临床中常见的基线特征表。

那么在R中怎么快速绘制绘制临床论文中的基线特征表1?
前面我们介绍了tableone
包、compareGroups
包、CBCgrps
包绘制基线特征表的教程。
今天介绍一个新的绘制基线表的包——DemographicTable
包,这个包是国人开发的。
1. 安装和加载R包
可以直接从CRAN上安装,但是好像要求R版本在4.2以上。
install.packages("DemographicTable")
library(DemographicTable)
2. 加载示例数据演示
使用colon数据集进行演示,数据集收集了B/C 期结肠癌患者辅助化疗后的生存时间数据。
library(tidyverse)
library(survival)
colon <- select(colon, 4:10)
head(colon, 10)

处理下数据,将部分变量转换为分类变量。
# 选中需要转化为因子的变量
vars <- c("sex","status", "obstruct", "perfor", "adhere", "etype", "differ", "extent", "surg", "node4")
# 使用lapply() 批量转化为因子
colon[vars] <- lapply(colon[vars], factor)
str(colon) # 查看数据结构

3. 绘制简单基线特征表
绘制基线特征表使用DemographicTable()函数。
绘制简单的基线特征表直接将数据集放在函数中即可。
DemographicTable(colon)

直接在RStudio软件的Viewer界面生成基线特征表数据。
连续变量的结果包括均值±标准差、中位数和四分位间距、极值等信息;分类变量包括不同水平的例数和比例。
4. 添加分组变量
同样可以添加分组变量来看不同组别之间的统计学描述。
这里使用分组变量status。
DemographicTable(colon, groups = "status")

如上所示,输出了总人群、死亡与存活组人群的数据结果,最后一列还输出了两组人群的统计学差异以及统计检验的方法,带星号表示P值<0.05。
但是上面的分类变量使用的是fisher精确检验,用SPSS软件跑了下,应该使用卡方检验就可以了吧。

5. 小细节修改
可以使用data.name修改下第一列标题的名称。
DemographicTable(colon, groups = "status",
data.name = substitute(variable))

6. 导出数据
可以使用下面的代码导出结果数据到Word表格。
# write to Word file
library(flextable)
library(officer)
# 创建Word表格
x = read_docx() |> body_add_flextable(value = as_flextable(DemographicTable(colon, groups = "status")))
# 指定导出文件的路径
(out = file.path("C:/Rdata", 'demotable.docx'))
# 输出表格
print(x, target = out)


这个函数的参数比较简单,其他可以使用keep_missing_group参数将变量中的缺失数据作为单独列显示;使用exclude参数指定哪些变量排除进入基线特征表;使用include参数指定纳入哪些变量进入基线特征表;使用overall参数指定是否创建总人群数据信息;使用compare 指定分组数据是否进行统计检验等等。
参考资料
-
DemographicTable帮助文件
关注下方公众号,分享更多更好玩的R语言知识。
如果需要进群,请在菜单栏处添加作者微信,添加入群。
觉得有帮助的请点赞、分享、在看走起!
点个在看,SCI马上发表。
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!