首发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.rhkb.cn/news/182917.html

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

相关文章

项目实战:优化Servlet,把所有围绕Fruit操作的Servlet封装成一个Servlet

1、FruitServlet 这些Servlet都是围绕着Fruit进行的把所有对水果增删改查的Servlet放到一个Servlet里面&#xff0c;让tomcat实例化一个Servlet对象 package com.csdn.fruit.servlet; import com.csdn.fruit.dto.PageInfo; import com.csdn.fruit.dto.PageQueryParam; import c…

多级缓存之JVM进程缓存

1.什么是多级缓存 传统的缓存策略一般是请求到达Tomcat后&#xff0c;先查询Redis&#xff0c;如果未命中则查询数据库&#xff0c;如图&#xff1a; 存在下面的问题&#xff1a; 请求要经过Tomcat处理&#xff0c;Tomcat的性能成为整个系统的瓶颈 Redis缓存失效时&#xff0…

STM32笔记—DMA

目录 一、DMA简介 二、DMA主要特性 三、DMA框图 3.1 DMA处理 3.2 仲裁器 3.3 DMA通道 扩展: 断言&#xff1a; 枚举&#xff1a; 3.4 可编程的数据传输宽度、对齐方式和数据大小端 3.5 DMA请求映像 四、DMA基本结构 4.1 DMA_Init配置 4.2 实现DMAADC扫描模式 实现要求…

PMP考试都是什么题?

PMP考试都是选择题&#xff0c;180道选择题&#xff0c;单选170道&#xff0c;多选10道&#xff0c;告知答案选项数量。 这里分享一下PMP考试中的常见翻译问题&#xff0c;pmp干货可在文末获取。 1、题目中出现的“启动会议”或“启动大会”开工会议&#xff08;kick-off mee…

康耐视深度学习ViDi-ViDi四大工具介绍与主要用途

Cognex ViDi 工具是一系列机器视觉工具&#xff0c;通过深度学习解决各种难以解决的挑战。虽然这些工具共享一个引擎&#xff0c;但它们在图像中寻找的内容不同。更具体地说&#xff0c;在分析单个点、单个区域或完整图像时&#xff0c;每个工具都有不同的侧重点。 Locate&…

极致性能优化:前端SSR渲染利器Qwik.js | 京东云技术团队

引言 前端性能已成为网站和应用成功的关键要素之一。用户期望快速加载的页面和流畅的交互&#xff0c;而前端框架的选择对于实现这些目标至关重要。然而&#xff0c;传统的前端框架在某些情况下可能面临性能挑战且存在技术壁垒。 在这个充满挑战的背景下&#xff0c;我们引入…

基础课18——智能客服系统架构

1.基础设施层 基础设施主要包括以下几点&#xff1a; 1. 硬件设施&#xff1a;包括服务器、存储设备、网络设备等&#xff0c;这是整个系统运行的物理基础。 2. 软件设施&#xff1a;包括操作系统、数据库管理系统、自然语言处理(NLP)工具和机器学习算法等&#xff0c;这些是…

Jmeter分布式压测 —— 易踩坑点

1、压测机 无论是从成本角度还是维护的难易方面&#xff0c;压测机的数量&#xff0c;适量就好。举个例子&#xff0c;8C16G的一台服务器&#xff0c;部署Jmeter后&#xff0c;根据我个人的测试比对数据&#xff0c;配置≤1500个线程数&#xff0c;最好。太多了性能损耗较大&a…

Cannot run program “D:\c\IntelliJ IDEA 2021.1.3\jbr\bin\java.exe“

如果你的idea在打开后出现了这个故障 Cannot run program "D:\c\IntelliJ IDEA 2021.1.3\jbr\bin\java.exe" (in directory "D:\c\IntelliJ IDEA 2021.1.3\bin"): CreateProcess error2, 系统找不到指定的文件。 打开IDEA的设置 file --> settings --&…

机器人制作开源方案 | 管内检测维护机器人

一、作品简介 作者&#xff1a;李泽彬&#xff0c;李晋晟&#xff0c;杜张坤&#xff0c;禹馨雅 单位&#xff1a;运城学院 指导老师&#xff1a;薛晓峰 随着我国的社会主义市场经济的飞速发展和科学技术的革新&#xff0c;各行各业的发展越来越离不开信息化和网络化的…

【扩散模型】5、Diffusion models beat GAN | 使用类别引导图像生成

论文&#xff1a;Diffusion models beat GAN on image Synthesis 代码&#xff1a;https://github.com/openai/guided-diffusion 出处&#xff1a;OPENAI | NIPS2021 时间&#xff1a;2021 贡献&#xff1a; 在本文章之前&#xff0c;扩散模型生成的图片已经非常逼真了&am…

ubuntu20.04配置解压版mysql5.7

目录 1.创建mysql 用户组和用户2.下载 MySQL 5.7 解压版3.解压 MySQL 文件4.将 MySQL 移动到适当的目录5.更改mysql目录所属的用户组和用户&#xff0c;以及权限6.进入mysql/bin/目录&#xff0c;安装初始化7.编辑/etc/mysql/my.cnf配置文件8.启动 MySQL 服务&#xff1a;9.建立…

linux之信号

Linux之信号 什么是信号信号的产生方式signalsignactionkill信号集信号屏蔽 什么是信号 信号机制是一种使用信号来进行进程之间传递消息的方法&#xff0c;信号的全称为软中断信号&#xff0c;简称软中断。 信号的本质是软件层次上对中断的一种模拟&#xff08;软中断&#xff…

第26期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大型语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以…

Digicert证书是什么?

DigiCert是全球领先的数字信任提供商&#xff0c;使个人和企业能够自信地在线参与&#xff0c;相信他们在数字世界中的足迹是安全的。DigiCert通过塑造全球行业标准、提供卓越的全球合规性和运营、为公共和私人信任提供证书生命周期管理以及将信任扩展到供应链和互联生态系统&a…

QT实现的一个MVP设计模式demo

最近做qt 项目,发现网上基于MVP设计模式的QT例程很少&#xff0c;这里写一个demo示例可作为参考&#xff1a; 一、简要概述 MVP是由MVC发展而来&#xff0c;总体目的与作用相同。都是为了软件构架有层次之分&#xff0c;使得核心逻辑、界面控制、数据这三者分层清晰明了。减少…

Linux实现进度条小程序(包含基础版本和模拟下载过程版本)

Linux实现进度条小程序[包含基础版本和模拟下载过程版本] Linux实现进度条小程序1.预备的两个小知识1.缓冲区1.缓冲区概念的引出2.缓冲区的概念 2.回车与换行1.小例子2.倒计时小程序 2.基础版进度条1.的回车方式的打印2.百分比的打印3.状态提示符的打印 3.升级版进度条1.设计:进…

虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令

目录 1、虚拟机Linux-Centos系统网络配置常用命令2、Docker 的常用命令2.1 安装docker步骤命令2.2 在docker容器中安装和运行mysql 2、dockerfile关键字区别(ADD/COPY,CMD/ENTRYPOINT) 1、虚拟机Linux-Centos系统网络配置常用命令 进入网络配置文件目录 cd /etc/sysconfig/ne…

【深度学习】Yolov8 区域计数

git&#xff1a;https://github.com/ultralytics/ultralytics/blob/main/examples/YOLOv8-Region-Counter/readme.md 很长时间没有做yolov的项目了&#xff0c;最近一看yolov8有一个区域计数的功能&#xff0c;不得不说很实用啊。 b站&#xff1a;https://www.bilibili.com/vid…

路由器基础(十二):IPSEC VPN配置

一、IPSec VPN基本知识 完整的IPSec协议由加密、摘要、对称密钥交换、安全协议四个部分组成。 两台路由器要建立IPSecVPN连接&#xff0c;就需要保证各自采用加密、摘要、对称密钥 交换、安全协议的参数一致。但是IPSec协议并没有确保这些参数一致的手段。 同时&#xff0c;IP…