语言中要输出表格_手把手教你用R语言快速制作出SCI中的表一

SCI里常见这样的表格一,表明人群基线资料,通常都是分段表示,可这样的表格是怎么做出来的呢?

dccf08cf2cbaeb5ea035c73b1eee083c.png

在既往SPSS教程中,我们已经教大家使用SPSS对变量进行分组转换做出SCI表一,但是使用SPSS需要对每个变量单独进行计算,然后手动输入制表,在变量比较多的,数据比较大的文件比较麻烦,今天我们来使用R语言轻松做出SCI中的表一

首先打开我们的数据,是一个炎症因子和肺炎发生相关的数据, fy为是否肺炎,age为年龄,tj为痰液检查,sex为性别,其他是炎症指标。我们打算用性别做分组列出基线资料

1c4a6f838dcbe874fb7674428b6b5aa9.png

需要用到foreign、tableone这两个R包,必须事先下载好,我们先把R包和数据导入

library(tableone)

library(foreign)

bc

                use.value.labels=F,to.data.frame=T)

2d53dbba46f942c82234fcbaf66c7093.png

先把数据生成表格并且输出看一看(这一步其实不做也可以)

tab1

print(tab1)

145fcaac3339c1a0535d7ad1f77a5826.png

目前数据还是以连续变量表示(均值加减标准差),没有区分出分类变量

我们需要汇总所有变量及定义分类变量

dput(names(bc))#把bc数据集所有变量导出,这样省去打字的麻烦

allVars

fvars

180f4a0d93d20ac6c9ac60ddfaa75683.png

建立表格2,strata表示使用什么变量进行分类显示,我们这里使用sex, 如果是连续变量的话要预先进行分组,也可以事先用SPSS分好,factorVars这里填入分类变量,addOverall表示加入汇总信息

tab2

                       addOverall = TRUE )

print(tab2)#输出表格

38523cb3f3bb3cd3a5a9c51f03ca0b26.png

含有SCI的表一就这样轻松做出来了,我们稍加修改就可以用于发表了。

但是有些同学可能会问,这里的都是正态分布的数据,如果我的数据是如果我的是非正态的怎么办?

我们这里假设:TNF是非正态的连续数据,分类变量都是非正态的

bb

使用nonnormal来指定谁是非正态数据exact定义分类变量

tab3

             noSpaces = T, printToggle = F,showAllLevels = T)

tab3

0772783f0a0b66a570631b521933ecc7.png

bb54e15334d785fc606e16e157373111.png

最后把文件输出,并打开表格

write.csv(tab3,file = "1.csv")

5e863adf3fb968c45f6470b1491de051.png

把表格拷贝入word

3de9f2a8a17abd9da906599dd1cedb36.png

最后把表格进行美化一下

818358bb3e526f788ba1d000d5505a6e.png

这样,可以用于发表的SCI表一就做出来啦,完美,收工

动动小手关注一下吧,更多精彩文章尽在零基础说科研

49fa07f012525fa78ba98f4d564de5a7.png


版权声明:本文为weixin_34334554原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。