• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

在既往SPSS教程中,我们已经教大家使用SPSS对变量进行分组转换做出SCI表一,但是使用SPSS需要对每个变量单独进行计算,然后手动输入制表,在变量比较多的,数据比较大的文件比较麻烦,今天我们来使用R语言轻松做出SCI中的表一
首先打开我们的数据,是一个炎症因子和肺炎发生相关的数据, fy为是否肺炎,age为年龄,tj为痰液检查,sex为性别,其他是炎症指标。我们打算用性别做分组列出基线资料

需要用到foreign、tableone这两个R包,必须事先下载好,我们先把R包和数据导入
library(tableone)
library(foreign)
bc <- read.spss(“E:/r/test/sci1.sav”,#生成了bc这个数据
use.value.labels=F, to.data.frame=T)

先把数据生成表格并且输出看一看(这一步其实不做也可以)
tab1 <- CreateTableOne(data = bc)
print(tab1)

目前数据还是以连续变量表示(均值加减标准差),没有区分出分类变量
我们需要汇总所有变量及定义分类变量
dput(names(bc))#把bc数据集所有变量导出,这样省去打字的麻烦
allVars <-c(“TNF”, “IL6”, “sTREM1”, “PCT”, “fy”, “xs”, “tj”, “sex”)#所有变量定义为allVars
fvars<-c(“tj”, “sex”,“fy”)#分类变量定义为fvars

建立表格2,strata表示使用什么变量进行分类显示,我们这里使用sex, 如果是连续变量的话要预先进行分组,也可以事先用SPSS分好,factorVars这里填入分类变量,addOverall表示加入汇总信息
tab2 <- CreateTableOne(vars = allVars, strata = “sex” , data = bc, factorVars=fvars,
addOverall = TRUE )
print(tab2)#输出表格

含有SCI的表一就这样轻松做出来了,我们稍加修改就可以用于发表了。
但是有些同学可能会问,这里的都是正态分布的数据,如果我的数据是如果我的是非正态的整么办?
我们这里假设:TNF是非正态的连续数据,分类变量都是非正态的
bb<- c(“TNF”)#我们先给他标记一下,bb是非正态的
使用nonnormal来指定谁是非正态数据 exact定义分类变量
tab3<- print(tab2, nonnormal=bb, exact = fvars, quote = FALSE,
noSpaces = T, printToggle = F, showAllLevels = T)
tab3


最后把文件输出,并打开表格
write.csv(tab3, file = “1.csv”)

把表格拷贝入word

最后把表格进行美化一下

这样,可以用于发表的SCI表一就做出来啦,完美,收工
动动小手关注一下吧,更多精彩文章尽在零基础说科研


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言入门到可视化精选19题发布时间:2022-07-18
下一篇:
《R语言游戏数据分析与挖掘》一导读发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap