scitb包1.6版本发布,一个为制作专业统计表格而生的R包

目前,本人写的scitb包1.6版本已经正式在R语言官方CRAN上线,scitb包是一个为生成专业化统计表格而生的R包。

可以使用以下代码安装

r 复制代码
install.packages("scitb")

安装过旧版本的从新安装一次就可以升级了,根据粉丝的建议,增加了Overall参数对数据进行汇总的功能,增加了连续卡方校正和fisher精确卡方的功能。

下面我来演示一下,scitb包生成结果需要stringi包和nortest包支持,这两个包你可以不导入,但要先安装好。

r 复制代码
install.packages(stringi)
install.packages(nortest)

安装好需要的包后我们就可以开始了,先导入R包和数据,scitb包自带有我既往的早产数据,咱们直接从包调用

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

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

Sci包中绘制基线表的主要是scitb1函数(以后会有更多其他表格函数),本次我主要是介绍新功能,基础功能请看既往文章,咱们来看下它的函数体

r 复制代码
scitb1(vars,fvars=NULL,strata,data,dec,num,nonnormal=NULL,type=NULL,
statistic=F,atotest=T,NormalTest=NULL,fisher=FALSE,correct=FALSE,Overall=FALSE)

咱们先来看一下,vars是变量的意思,你基线表中的变量放进去,fvars是分类变量,就是你vars变量中的分类变量,如果没有的话就留空。strata,就是分层的意思,这里填入你要研究的变量,data这里填入你的数据,dec就是你生成结果的小数点位数,默认是3位。

先来个分类变量的,

假设咱们想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)

假如咱们论文需要汇总的结果,加上Overall=T

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

如果你的数据比较特殊,如果理论数T<5但T≥1,并且n≥40,需要用连续性校正的卡方进行检验.可以加上correct=T

r 复制代码
out<-scitb1(vars=allVars,fvars=fvars,strata=strata,data=bc,statistic=T,Overall=T,fisher=F,correct=T)

如果你理论数T<1或n<40,需要用到Fisher's检验.

r 复制代码
out<-scitb1(vars=allVars,fvars=fvars,strata=strata,data=bc,statistic=T,Overall=T,fisher=F,correct=T)

大家注意一下,fisher精确卡方和连续校正卡方同时选的话,只会出fisher精确卡方的结果,第二就是fisher精确卡方是没有统计值的,咱们看SPSS的结果也是没有的

所以怎么制表需要你自己想好来。连续变量也是差不多的,我简单跑一下把

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

红色字体并不是说明有错误,而是温馨提示你目前函数是把这个变量当做连续变量来处理,并告诉你分段的截点

添加汇总数据

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

其他的操作都差不多,我就不一一介绍了,想要详细了解的请看既往文章。

相关推荐
maizeman1262 小时前
R语言——散点图
开发语言·r语言·可视化·散点图
数小模.16 小时前
R语言进行聚类分析
开发语言·r语言
biomooc2 天前
R语言 | 2d概率密度分布图
开发语言·r语言
KY_chenzhao2 天前
R语言赋能气象水文科研:从多维数据处理到学术级可视化
r语言·气象·绘图·数据处理·水文
NicOym3 天前
R语言——绘制生命曲线图(细胞因子IL5)
r语言
岁月如歌,青春不败3 天前
R语言:气象水文领域的数据分析与绘图利器
数据分析·r语言·大气科学·气象学·水文水资源·科研绘图·水文模型
Epiphany心理4 天前
R语言使用ggplot2作图
开发语言·r语言
maizeman1264 天前
R语言——获取数据1
开发语言·r语言·数据读取·内置数据集
Tiger Z6 天前
R 语言科研绘图第 36 期 --- 饼状图-基础
开发语言·程序人生·r语言·贴图
A林玖7 天前
【计算机相关学习】R语言
开发语言·学习·r语言