首发scitb包,一个为制作统计表格而生的R包

目前,本人写的第3个R包scitb包已经正式在R语言官方CRAN上线,scitb包是一个为生成专业化统计表格而生的R包。
可以使用以下代码安装

install.packages("scitb")

在这里插入图片描述
scitb包对我而言是个很重要的R包,我的很多想法需要靠它做平台来实现,本来没打算写这么快,但是有点原因所以提前了。写scitb包的目是用它生成各种统计表格,但目前只有一个scitb1函数,只能生成基线表一,看起来有点弱,但是相信在我的不断改进下将来一定是个强大的R包。
有时候我在想已经有tableone包这么优秀的基线表R包了,我还需要费劲再写一个吗?但是我还是把它写出来了,对于scitb包来说,绘制基线表1只是它附带的一个小功能,我也是有个小目标的,就是让它能一键生成表一到表五我们论文的各种表格,然后再能生成图片的话就更完美了。其实我前期也做了一些工作了,如文章《scitb5函数1.7版本(交互效应函数P for interaction)发布----用于一键生成交互效应表、森林图》中scitb5函数,为什么起这么怪的名字,当时就是考虑写了这个包后,它是用来生成表五的,本来按照scitb5函数的复杂程度足以做成个包了,为什么没有做,就是打算附在scitb包上的. 还有文章《cox回归RCS阈值函数cut.tab1.3发布》中的cut.tab函数,目前逻辑回归和线性回归都写好了,在将来会改成scitb4函数,加上现在的scitb1函数已经已经有3个函数了。将来继续完善它。
下面咱们来演示一下咱们使用scitb包来绘制一个咱们论文需要的基线表一
scitb包自带有我既往的早产数据,咱们直接从包调用

library(scitb)
bc<-prematurity

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

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

bc$race<-as.factor(bc$race)

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

allVars <-c("age", "lwt",  "smoke", "ptl", "ht", "ui", "ftv", "bwt")
fvars<-c("smoke","ht","ui")
strata<-"race"

一键生成统计结果

out<-scitb1(vars=allVars,fvars=fvars,strata=strata,data=bc)

在这里插入图片描述
这样结果就生成了,我按论文格式对界面进行设定,这样你几乎不怎么用调整就可以生成数据表一了,省了点时间。如果有非正态数据怎么办,假设lwt为非正态分布数据,咱们通过nonnormal这个参数给它定义一下

out<-scitb1(vars=allVars,fvars=fvars,strata=strata,data=bc,nonnormal =c("lwt"))

在这里插入图片描述
我们可以看到lwt这里被改成使用中位数和四分位数表示了。
接下来看看咱们算得对不对,使用tableone包来比较一下

library(tableone)
allVars <-c("age", "lwt",  "smoke", "ptl", "ht", "ui", "ftv", "bwt")
fvars<-c("smoke","ht","ui")
strata<-"race"
tab2 <- CreateTableOne(vars = allVars, factorVars=fvars,strata = strata, data = bc)
print(tab2)#输出表格,tableone包

在这里插入图片描述
对比两个结果,一模一样,所以大家可以完全放心,我可没有抄袭tableone包,虽然结果一样,但是我们的算法构架完全不一样的,它是使用lapply()函数来跑结果的,而我是使用for循环的。

在这里插入图片描述
Scitb包格式更加符合论文发表格式,刚才说了分类变量的制表方法,现在来说下连续变量,假设我们研究的是年龄变量age

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)

在这里插入图片描述
咱们可以看到年龄被默认分层3组,然后得出基线表,还给出了具体分割值,表明从14到20到25到45进行了分割,下面的警告不用理会,咱们没有关闭警告,算出来和tableone包一样的。

在这里插入图片描述
如果你想分层更多组,可以使用num这个制表来设定。假设咱们想生成4组

out<-scitb1(vars=allVars,fvars=fvars,strata=strata,data=bc,num=4)

在这里插入图片描述
这里有个制表小技巧回到前面的连续变量里,咱们可以把分层变量加进去,快速制表

allVars <-c("age", "lwt",  "smoke", "ptl", "ht", "ui", "ftv", "bwt","race")
fvars<-c("smoke","ht","ui","race")
strata<-"age"

#一键生成统计结果

out<-scitb1(vars=allVars,fvars=fvars,strata=strata,data=bc)

在这里插入图片描述
把结果保存

write.csv(out,file = "1.csv",row.names = F)

打开看一下

在这里插入图片描述
把它拷贝入word

在这里插入图片描述
把它整理一下,这样一个专业表格就做好啦。

在这里插入图片描述
是不是又快又好呀。

在这里插入图片描述
scitb1比起tb1包功能远远比不上,主打一个简单实用,虽然没有tb1包这么强大的功能,但是可以快速出表,而且增加了连续变量的处理,还是有点优势的吧。之后我还打算出个视频介绍怎么基于scitb包快速生成表一,欢迎观看。

最后原创声明一下,scitb包遵循GPL-3协议,你可以自由使用、播散和修改,但是用于商业用途需要得到我的同意和授权。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/130414.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件测试/测试开发丨利用ChatGPT 生成自动化测试脚本

点此获取更多相关资料 简介 自动化测试脚本可以模拟用户与应用程序的交互&#xff0c;例如点击按钮、输入数据、导航到不同的页面等等&#xff0c;以验证应用程序的正确性、性能和稳定性。 自动化测试在回归测试、冒烟测试等测试流程中都可以极大地起到节省时间、节省人力的作…

【主题教育】民革达州市委会开展“践诺我与民革共成长“讲述活动

【主题教育】民革达州市委会开展“践诺,我与民革共成长“讲述活动 10月28日,民革达州市委会开展“践诺,我与民革共成长——我是民革‘螺丝钉’讲述活动”,有序推进民革四川省委会“重温加入民革承诺、守护民革精神家园”专项活动往心里走、往深里走、往实里走。达州市人大常委会…

计算机组成与结构-安全性和可靠性

系统可靠性分析 概念 平均无故障时间 MTTF 1/失效率 平均故障修复时间 MTTR1/修复率 平均故障间隔时间 MTBFMTTFMTTR 系统可用性 MTTF/(MTTFMTTR)*100% 计算 串联系统 一个设备不可靠&#xff0c;整个系统崩溃RR1R2Rn 并联系统 所有设备不可靠&#xff0c;整个系统崩溃R1-(1…

Vue 官网使用与环境搭建

vue官网网址&#xff1a;https://cn.vuejs.org/vue脚手架文档网址&#xff1a;https://cli.vuejs.org/zh/ vue团队为了使得vue更加好的使用&#xff0c;维护了一些文档。 API是vue的字典&#xff0c;在编写vue的时候&#xff0c;遇到了一些不会的方法那么就去找API&#xff0c…

Visual Studio 2010 软件安装教程(附下载链接)——计算机二级专用编程软件

下载链接&#xff1a; 提取码:2wAKhttps://www.123pan.com/s/JRpSVv-9injv.html 安装步骤如下&#xff1a; 1.如图所示&#xff0c;双击打开【Visual Studio 2010简体中文旗舰版】文件夹 2.如图所示&#xff0c;找到“Setup”文件夹打开&#xff0c;双击运行“setup” 3.如图…

Datawhale-AIGC实践

Datawhale-AIGC实践 部署ChatGLM3-6B平台 clone 项目&#xff0c;配置环境 git clone https://github.com/THUDM/ChatGLM3.git cd ChatGLM3 pip install -r requirement.txt修改web_demo.py, web_demo2.py 设置加载模型的路径修改启动代码: demo.queue().launch(shareFalse…

SpringMVC简单介绍与使用

目录 一、SpringMVC介绍 二、SpringMVC作用 三、SpringMVC核心组件 四、SpringMVC快速体验 一、SpringMVC介绍 Spring Web MVC是基于Servlet API构建的原始Web框架&#xff0c;从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称&#xff…

计算虚拟化3——I/O设备虚拟化

目录 I/O基本概念 I/O设备与CPU连接图 CPU与I/O设备的交互 访问I/O设备&#xff08;IO Access&#xff09; 数据传输&#xff08;Data Tronhsfer&#xff09; I/O设备虚拟化技术 软件辅助全虚拟化 半虚拟化 Virtio协议基本概念 Virtqueue讲解 硬件辅助全虚拟化 I/O…

力扣:有效的括号

自己编写的代码 。 自己的思路&#xff1a; class Solution { private:unordered_map<char,int>symbolValues{{(,1},{),2},{{,4},{},5},{[,8},{],9}, };public:bool isValid(string s) {bool flagfalse;int lenss.length();if (lens % 2 ! 0){flag false;}for…

Arduino设置SoftwareSerial缓冲区大小

SoftwareSerial的缓冲区大小设置 概述修改缓冲区的大小实验 概述 新的Arduino的ESP8266软串口的缓冲区原来老的库中有宏定义可以用来修改接收和发送缓冲区的大小。在现在新的库中已经没有这个设置了&#xff0c;那怎么才能修改缓冲区的大小哪&#xff1f; 修改缓冲区的大小 …

S4.2.4.5 Lane Polarity Inversion

一 本章节主讲知识点 1.1 Polarity Inversion 极性反转 1.2 Lane Reversal 通道翻转 二 本章节原文翻译 2.1 极性反转 原文摘录&#xff1a; PCIe 协议规定&#xff0c;必须支持该特性。该特性的目标也是为了简化 PCB 的布线。每个 lane 都包含一组发送&#xff08;Tx&…

2023年Zotero最新同步教程-使用TeraCloud的25G免费空间实时跨设备同步文献

文章目录 1. 前言2.1. 注册账号2.1.1. 填写注册信息2.1.2. 创建账号成功2.1.3. 注意2.2. 扩容空间2.3. 打开WebDAV 3. Zotero配置WebDAV同步3.1. 设置网址3.2. 验证服务器3.3. 文件同步成功 4. 结语 1. 前言 Zotero免费版的存储空间是300m&#xff0c;一个图文PDF动辄两三M&am…

Redis7.x 高级篇

Redis7.x 高级篇 Redis版本发行时间Redis单线程说的是什么东西 Redis版本发行时间 Redis单线程说的是什么东西

intellij idea拉取最新的依赖包

intellij idea setting 拉取最新的依赖包 File --> Settings --> Build, Execution, Deployment --> Build Tools --> Maven --> 勾选 Always update snapshots. 一般情况下&#xff0c;设置完就可以拉取到最新的依赖包了。 如下&#xff1a; 安装最新的依赖…

配置git并把本地项目连接github

一.配置git 1.下载git&#xff08;Git&#xff09;&#xff0c;但推荐使用国内镜像下载&#xff08;CNPM Binaries Mirror&#xff09; 选好64和版本号下载&#xff0c;全部点下一步 下载完成后打开终端&#xff0c;输入 git --version 出现版本号则说明安装成功 然后继续…

将Bean注入Spring容器的五种方式

将bean放入Spring容器中有哪些方式&#xff1f; 我们知道平时在开发中使用Spring的时候&#xff0c;都是将对象交由Spring去管理&#xff0c;那么将一个对象加入到Spring容器中&#xff0c;有哪些方式呢&#xff0c;下面我就来总结一下 1、Configuration Bean 这种方式其实也是…

修改docker 版本的mysql 8.0 本机Navicat 连不上的问题

1.进入容器 docker exec -it xxxx bash 2.使用root账号登录mysql mysql -u root -p 3.查看当前加密方式 use mysql; SELECT Host, User, plugin from user; 我这是改过了&#xff0c;应该都是caching_sha2_password 4. 修改加密方式 ALTER USER root% IDENTIFIED WITH m…

关于单片机CPU如何控制相关引脚

目录 1、相关的单片机结构 2、通过LED的实例解释 1、相关的单片机结构 在寄存器中每一块都有一根导线与引脚对应&#xff0c;通过cpu改变寄存器内的数据&#xff08;0或1&#xff09;&#xff0c;通过驱动器来控制对于的引脚。 2、通过LED的实例解释 如图所示&#xff0c;芯片…

C语言 程序环境 编译和链接

目录 1.程序的翻译环境和执行环境 2.详解C语言程序的编译和链接 2.1翻译环镜 2.2翻译的几个阶段 2.2.1预编译 2.2.2编译 词法分析 符号汇总 2.2.3汇编 生成符号表 2.3链接 1.合并段表 2.合并符号表和重定位 2.4运行环境 1.程序的翻译环境和执行环境 在ANSI C的任…

rhcsa-vim

命令行的三种模式 将ets下的passwd文件复制到普通用户下面 编辑模式的快捷方式 a--光标后插入 A--行尾插入 o--光标所在上一行插入 O--光标所在上一行插入 i--光标前插入 I--行首插入 s--删除光标所在位然后进行插入模式 S--删除光标所在行然后进行插入 命令模式的快捷…