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

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

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

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

r 复制代码
library(scitb)
bc<-prematurity

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

如何生成基线表可以看我既往的文章,这里就直接上代码了

假设咱们想race为研究目标,因为它是分类变量,咱们最好把它转成因子,因为scitb包有一定对数据类型的判定能力,如果你的分类变量类别大于5个,而你不转成因子的话,它可能自动判定为连续变量,处理方式不一样的,所以这里最好自己设定一下

r 复制代码
bc$race<-as.factor(bc$race)

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

r 复制代码
allVars <-c("age", "lwt",  "smoke", "ptl", "ht", "ui", "ftv", "bwt")
fvars<-c("smoke","ht","ui")
strata<-"race"

一键生成统计结果

r 复制代码
out<-scitb1(vars=allVars,fvars=fvars,strata=strata,data=bc)

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

r 复制代码
library(xtable)
library(flextable)
library(officer)

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

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

接下来把out转成flextables格式

r 复制代码
tb1<-as_flextable(xtable(out))

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

r 复制代码
doc = read_docx()

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

接下来咱们把刚才的tb1添加入空的doc就可以啦

r 复制代码
doc = body_add_flextable(doc,tb1)

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

r 复制代码
print(doc,"./tb1.docx")

咱们打开看一下,还不是还不是很满意,删除第一列

这样就基本差不多啦

还可以按住表格根据内容自动调整,最后在修饰一下就好啦

将来在新版的scitb包将会添加这个一键导出到word的功能。

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

相关推荐
Tiger Z13 分钟前
《R for Data Science (2e)》免费中文翻译 (第2章) --- Workflow: basics
r语言·数据科学·中文翻译
中游鱼7 小时前
如何序列化和反序列化动态 XmlElement ?
windows·microsoft·c#
Chef_Chen14 小时前
从0开始学习R语言--Day55--弹性网络
r语言
唐青枫15 小时前
C#.NET dapper 详解
c#·.net
死也不注释17 小时前
【鸡零狗碎记录】
unity·c#
Maybe_ch17 小时前
.NET-键控服务依赖注入
开发语言·c#·.net
★YUI★20 小时前
学习游戏制作记录(剑投掷技能)7.26
学习·游戏·unity·c#
小乖兽技术21 小时前
C#与C++交互开发系列(二十四):WinForms 应用中嵌入C++ 原生窗体
c++·c#·交互
I'mSQL1 天前
C#与WPF使用mvvm简单案例点击按钮触发弹窗
开发语言·c#·wpf
工藤新一OL1 天前
把xml的格式从utf-8-bom转为utf-8
xml·c#·asp.net·.netcore·visual studio