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)

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

相关推荐
环能jvav大师9 小时前
基于R语言的统计分析基础:使用dplyr包进行数据操作
大数据·开发语言·数据分析·r语言
环能jvav大师15 小时前
基于R语言的统计分析基础:使用SQL语句操作数据集
开发语言·数据库·sql·数据分析·r语言·sqlite
一声沧海笑1 天前
dplyr、tidyverse和ggplot2初探
信息可视化·数据分析·r语言
waterHBO2 天前
R语言 基础笔记
开发语言·笔记·r语言
Red Red2 天前
GEO数据库提取疾病样本和正常样本|GEO数据库区分疾病和正常样本|直接用|生物信息|生信
开发语言·数据库·笔记·学习·r语言·c#·生物信息
邢博士谈科教4 天前
比传统机器学习更先进的深度学习神经网络的二分类建模全流程教程
数据挖掘·r语言·数据可视化
环能jvav大师5 天前
基于R语言的统计分析基础:使用键盘输入数据
开发语言·学习·数据分析·r语言·人机交互
Red Red5 天前
GEO数据的下载和处理|GEO数据转换为Gene symbol|GEO注释文件提取symbol|查看样本标签|查看GEO数据疾病或正常|生物信息基础
数据库·笔记·学习·r语言·生物信息·geo数据库
不是伍壹6 天前
【R语言】删除数据框中所有行中没有大于200的数值的行
开发语言·r语言
hongyanwin6 天前
商业预测 初识R
r语言·预测