R语言优雅的把数据基线表(表一)导出到word

基线表(Baseline Table)是医学研究中常用的一种数据表格,用于在研究开始时呈现参与者的初始特征和状态。这些特征通常包括人口统计学数据、健康状况和疾病史、临床指标、实验室检测、生活方式、社会经济等。

在这里插入图片描述
本人在既往文章《scitb包1.6版本发布,一个为制作专业统计表格而生的R包》发布乐我自己编写的scitb包,可以一键生成基线表,但是还是需要手动导入word,还是不是很方便,本期介绍怎么把基线表直接导入word。

首先咱们使用scitb包来生成一个基线表,先导入R包和数据,scitb包自带有我既往的早产数据,咱们直接从包调用

library(scitb)
bc<-prematurity

在这里插入图片描述
这是一个关于早产低体重儿的数据,低于2500g被认为是低体重儿。数据解释如下:low 是否是小于2500g早产低体重儿,age 母亲的年龄,lwt 末次月经体重,race 种族,smoke 孕期抽烟,ptl 早产史(计数),ht 有高血压病史,ui 子宫过敏,ftv 早孕时看医生的次数,bwt 新生儿体重数值

如何生成基线表可以看我既往的文章,这里就直接上代码了
假设咱们想race为研究目标,因为它是分类变量,咱们最好把它转成因子,因为scitb包有一定对数据类型的判定能力,如果你的分类变量类别大于5个,而你不转成因子的话,它可能自动判定为连续变量,处理方式不一样的,所以这里最好自己设定一下

bc$race<-as.factor(bc$race)

接下来就是定义全部变量,分类变量和分层变量,这和tableone包一模一样,如果你会使用tableone包,使用scitb包起来完全无压力。

allVars <-c("age", "lwt",  "smoke", "ptl", "ht", "ui", "ftv", "bwt")
fvars<-c("smoke","ht","ui")
strata<-"race"

一键生成统计结果

out<-scitb1(vars=allVars,fvars=fvars,strata=strata,data=bc)

在这里插入图片描述
接下咱们需要把这个表格导入到word里面,需要安装3个包,缺一不可,其实安装flextable包的话也会附带其他两个包安装

library(xtable)
library(flextable)
library(officer)

接下来咱们设置一下导出表格的位置

setwd("E:/公众号文章2024年/R语言优雅的把基线表导出到word")

接下来把out转成flextables格式

tb1<-as_flextable(xtable(out))

接下来咱们创建一个空的文档,后面可以向它写入数据

doc = read_docx()

咱们可以看到doc的路径在,这个是officer包的默认位置

在这里插入图片描述
接下来咱们把刚才的tb1添加入空的doc就可以啦

doc = body_add_flextable(doc,tb1)

最后还需对生成的doc进行打印,然后在默认的位置下就可以看到word了

print(doc,"./tb1.docx")

在这里插入图片描述
咱们打开看一下,还不是还不是很满意,删除第一列

在这里插入图片描述
这样就基本差不多啦

在这里插入图片描述
还可以按住表格根据内容自动调整,最后在修饰一下就好啦

在这里插入图片描述
将来在新版的scitb包将会添加这个一键导出到word的功能。

R语言优雅的把基线表导出到word

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天桥下的卖艺者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值