scitb包1.5版本发布—增加了统计值的结果和自动判断数据是否正态分布的功能

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

install.packages("scitb")

在这里插入图片描述
安装过旧版本的从新安装一次就可以升级了
scitb包1.5版本修正了上个版本的一些小错误,根据粉丝的建议,增加了两个新功能,一个是返回了统计值的结果,因为咱们国内的论文投稿的时候经常需要上报一些卡方值,F值等什么的,其实scitb包计算的时候已经生成这个值了,只是没有列出来,这次增加了这个功能,还有一个是增加了自动判断数据是否是正态分布,然后根据是否是正态分布返回相应的结果,如果不是正态分布的话返回的是中位数和四分位数表示,P值也是使用秩和检验计算出来。
下面我来演示一下,scitb包生成结果需要stringi包和nortest包支持,这两个包你可以不导入,但要先安装好。

install.packages(stringi)
install.packages(nortest)

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

library(scitb)
bc<-prematurity

在这里插入图片描述
这是一个关于早产低体重儿的数据,低于2500g被认为是低体重儿。数据解释如下:low 是否是小于2500g早产低体重儿,age 母亲的年龄,lwt 末次月经体重,race 种族,smoke 孕期抽烟,ptl 早产史(计数),ht 有高血压病史,ui 子宫过敏,ftv 早孕时看医生的次数,bwt 新生儿体重数值
Sci包中绘制基线表的主要是scitb1函数(以后会有更多其他表格函数),咱们来看下它的函数体

scitb1(vars,fvars=NULL,strata,data,dec,num,nonnormal=NULL,type=NULL,
statistic=F,atotest=T,NormalTest=NULL)

咱们先来看一下,vars是变量的意思,你基线表中的变量放进去,fvars是分类变量,就是你vars变量中的分类变量,如果没有的话就留空。strata,就是分层的意思,这里填入你要研究的变量,data这里填入你的数据,dec就是你生成结果的小数点位数,默认是3位,其他的变量我在后面部分穿插来讲。
咱们先来个分类变量的
假设咱们想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)

在这里插入图片描述
咱们看下上图,这里我要好好讲一下,“age”, “lwt”,“ptl”,“ftv”,这4个变量被函数判断成了非正态分布,bwt被判定成了正态分布。咱们先看"ptl","ftv"这两个的结果非常奇怪好像不怎么对,咱们从新看下数据

在这里插入图片描述
"ptl"只有两个分类应该是定义成分类变量,我们把它定义成连续变量搞错了,ftv是看医生的次数,1-6次,虽然看起来好像个连续变量,但是只有6个分类变量,我觉得该是定义为分类变量比较好,可以改成3次一下和3次以上的,咱们从新跑一下

fvars<-c("smoke","ht","ui","ptl","ftv")
out<-scitb1(vars=allVars,fvars=fvars,strata=strata,data=bc)

在这里插入图片描述
我们可以看到age,lwt这两个变量还是被判定为非正态分布,咱们来看下它算的对不对,画个直方图

hist(bc$age)
hist(bc$lwt)
hist(bc$bwt) 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以看到前两个不是正态分布,而bwt是明显的正态分布,算得还是比较准的。我这里介绍一下我是怎么算正态分布的,我参照了SPSS的算法。

在这里插入图片描述
我们可以看到,SPSS对于正态分布提供2种算法Shapiro-Wilk 检验和Kolmogorov–Smirnov检验。Shapiro-Wilk 检验是用于样本量小于3500的。
而我在scitb包中提供了5种算法,默认的是:当样本量小于3500使用Shapiro-Wilk 检验,样本量大于3500使用Kolmogorov–Smirnov检验。你要是觉得这两种检验算得不准的话,我这里还提供有"ad", “cvm”, "pearson"3种检验,使用NormalTest参数控制,比如

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

在这里插入图片描述
近年来有文献表明"ad", "cvm"这两种方法优于前面两种,但前两种是经典算法,被大众接受,所以我默认了前两种。
自动计算正态分布受到atotest参数控制,默认是atotest=T,比如你不想使用函数自动帮你计算正态分布,你想自己定义你可以关了,通过nonnormal这个参数来定义非正态参数

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

在这里插入图片描述
我们可以看到就只有lwt定义为非正态分布。

我这里要重点说一下,如果你使用nonnormal这个参数来定义非正态分布的参数,一定要设置atotest = F,把自动判定关掉,不然是没有用的,还是会自动判定的。

接下来说一下统计值,默认是不返回统计值,统计值由参数statistic控制,默认是statistic=F,如果你的文章需要统计值,可以

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

在这里插入图片描述
这里我解释一下,如果是分类变量这里的方法是卡方,一律是卡方值(χ2),如果是连续变量的,如果是正态分布的话就是使用单因素方差分析,它的值是F值,如果是非正态分布的话,使用的是秩和检验,也有叫克鲁斯卡尔-沃利斯检验(Kruskal-Wallis),在SPSS中叫做K检验,算出来的结果和tableone一模一样的,有兴趣可以自己取算一下。
下面我来介绍一下连续变量和上一篇差不多的(详细的可以翻看上一篇),这里我简单介绍一下。
我们这里假设研究年龄age这个连续变量,默认分层3组

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)

在这里插入图片描述
在新版本中,除了介绍分割点外,还会出现红字温馨提醒你,分层变量也就是目标变量被当做一个连续变量来处理了

在这里插入图片描述
加入统计值也是一样的

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

在这里插入图片描述
其他的都和上一篇差不多,就不详细介绍了,有兴趣的看下上一篇。最后导出数据

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

这里要说一下,如果你导出的是乱码,可以使用如下代码纠正

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

在这里插入图片描述
打开看一下

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

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

在这里插入图片描述
如果你还是不会也没有关系,下周我再出个操作视频。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

虚幻C++基础 day3

常见的游戏机制 Actor机关门 创建一个Actor类&#xff0c;添加两个静态网格与一个触发器 UBoxComponentUStaticMeshComponent 头文件&#xff1a; #include “Components/BoxComponent.h”#include “Components/StaticMeshComponent.h” TriggerDoor.h // Fill out your …

建造者模式(Builder Pattern)

建造者模式&#xff08;Builder Pattern&#xff09; 1、类型2、定义3、UML图4、四个角色5、代码6、应用场景 1、类型 创建型 解释&#xff1a;设计模式的创建性类型是一种软件设计模式&#xff0c;它专注于对象的创建机制&#xff0c;帮助我们更加灵活地创建对象实例。创建性…

小程序如何部署SSL证书

微信小程序开发前提必须拥有一本SSL证书&#xff0c;办理SSL证书之前确保好指定的微信小程序开发接口使用的域名&#xff0c;如果没有域名的提前申请好&#xff0c;并且到国内服务器提供商去办理备案。 了解微信小程序使用SSL证书的作用&#xff0c;包括以下三个方面&#xff1…

了解web框架

Web框架前戏 Web框架本质 web框架本质上可以看成是一个功能强大的socket服务端,用户的浏览器可以看成是拥有可视化界面的socket客户端。两者通过网络请求实现数据交互&#xff0c;学者们也可以从架构层面上先简单的将Web框架看做是对前端、数据库的全方位整合 纯手撸web框架 …

【k8s-1】基于docker Desktop一键式搭建k8s环境

在docker desktop中一键启动k8s环境很简单。 下面介绍如何启动dashboard&#xff0c;dashboard仪表盘是新手学习k8s至关重要的一个工具。 1、配置控制台 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml 2、开…

阿里云服务器u1和e实例有什么区别?哪个比较好?

阿里云服务器u1和e实例有什么区别&#xff1f;哪个比较好&#xff1f;通用算力型u1比较好&#xff0c;因为u1服务器是独享型云服务器&#xff0c;e实例是共享型。 阿里云服务器ECS经济型e实例和通用算力型u1实例有什么区别&#xff1f;如何选择&#xff1f;ECS经济型e实例是共…

解决 win11 vmware 中centos 网络不能访问外网

解决 win11 vmware 中centos 网络不能访问外网 1、进入win11 高级设置&#xff0c;找到centos 虚拟机使用的网卡 2、看网卡的其他属性 3、按照红圈部分&#xff0c;配置成一样的就行 4、进入到虚拟机配置中&#xff0c;配置成如图一样的NAT模式 5、再进入编辑 -》虚拟网络编辑…

U盘插在电脑上显示要格式化磁盘怎么办

U盘是一种便携式存储设备&#xff0c;广泛应用于各种场合。然而&#xff0c;有时候我们可能会遇到一些问题&#xff0c;比如将U盘插入电脑后显示要格式化磁盘&#xff0c;这通常意味着U盘的分区出现了问题或者U盘的文件系统已经损坏。这种情况下&#xff0c;我们应该如何解决呢…

浅谈智能型电动机保护器在孟加拉水泥厂的应用

摘要&#xff1a;电动机设备是水泥企业中应用较广泛的动力装置&#xff0c;而水泥生产企业属于能耗高、污染大又需要设备连续不间断工作的行业&#xff0c;电动机作为水泥行业设备的动力来源&#xff0c;其安全、稳定可靠的运转对水泥行业的平稳生产起着至关重要的作用。 Abst…

java正则表达式(Pattern类和Matcher类)

文章目录 前言一、Java中使用正则表达式①捕获组②Pattern类与Matcher类Pattern类&#xff1a;Matcher类&#xff1a;Pattern类&Matcher类方法:Pattern类调用方法&#xff08;静态方法&#xff09;&#xff1a;1、public static Pattern compile(String regex)2、public st…

【星海出品】flask 与docker

import os from flask import Flask, request from flask import Response, make_response, jsonify import cv2 import base64 import io import uuid from main import eye ​ app Flask(__name__)​ app.route(/, methods[GET, POST]) # 添加路由blend def upload_file():…

互联网常见职称

1、管理层 CEO – Chief Executive Officer 首席执行官 VP – Vice President 副总裁 HRD – Humen Resource Director 人力资源总监 OD – Operations Director 运营总监 MD – Marketing Director 市场总监 GM – General Manager 总经理 PM – Production Manager 产品…

【T3】畅捷通T3采购管理模块反结账,提示:本年数据已经结转,不能取消结账。

【问题描述】 使用畅捷通T3软件过程中&#xff0c; 针对以前年度进行反结账过程中&#xff0c;遇到采购管理模块取消12月份结账&#xff0c; 提示&#xff1a;本年数据已经结转&#xff0c;不能取消结账。 【分析需求】 按正常逻辑&#xff0c;需要清空新年度数据&#xff0c…

TinyEngine 开源低代码引擎首次直播答疑QA合集

前言 10月27日晚8点&#xff0c;OpenTiny 社区开启了 TinyEngine 开源低代码引擎首次答疑直播&#xff0c;本次直播我们通过收集开发者诉求&#xff0c;精心策划和组织了内容&#xff0c;希望提供给大家最明确和清晰的答疑方式。这是 TinyEngine 低代码引擎直播计划的开端&…

【大模型-第一篇】在阿里云上部署ChatGLM3

前言 好久没写博客了&#xff0c;最近大模型盛行&#xff0c;尤其是ChatGLM3上线&#xff0c;所以想部署试验一下。 本篇只是第一篇&#xff0c;仅仅只是部署而已&#xff0c;没有FINETUNE、没有Langchain更没有外挂知识库&#xff0c;所以从申请资源——>开通虚机——>…

【中国知名企业高管团队】系列63:青岛啤酒

前两天介绍了总部位于青岛的中国以家电起家的两个巨头——海尔、海信。今天介绍总部位于青岛的另一个知名企业&#xff0c;而且最近被“一泡尿”送上风口浪尖带来巨大损失的青岛啤酒。 一、认识青岛啤酒 爱喝酒的读者朋友&#xff1f;说到全国性的啤酒品牌你会想到哪个&#…

使用VSCODE链接Anaconda

打代码还是在VSCODE里得劲 所以得想个办法在VSCODE里运行py文件 一开始在插件商店寻找插件 但是没有发现什么有效果的 幸运的是VSCODE支持自己选择Python的解释器 打开VSCODE 按住CtrlShiftP 输入Select Interpreter 如果电脑已经安装上了Python的环境 VSCODE会默认选择普通…

算法之路(一)

&#x1f58a;作者 : D. Star. &#x1f4d8;专栏 :算法小能手 &#x1f606;今日分享 : 如何学习&#xff1f; 在学习的过程中&#xff0c;不仅要知道如何学习&#xff0c;还要知道避免学习的陷阱。1. 睡眠不足&#xff1b;2. 被动学习和重读&#xff1b;3. 强调标记或画线&am…

基于讯飞星火大语言模型开发的智能插件:小策问答

星火大语言模型是一种基于深度学习的自然语言处理技术&#xff0c;它能够理解和生成人类语言。这种模型的训练过程涉及到大量的数据和复杂的算法&#xff0c;但最终的目标是让机器能够像人一样理解和使用语言。 小策问答是一款基于星火大语言模型的定制化GPT插件小工具。它的主…

电脑硬盘数据恢复哪个好?值得考虑的 8 个硬盘恢复软件解决方案

借助硬盘恢复软件&#xff0c;任何人都可以在家中恢复丢失的文件&#xff0c;而无需任何特殊技能。事实上&#xff0c;最困难的一步是选择最佳解决方案&#xff0c;因为可用选项的数量可能有点多。幸运的是&#xff0c;这篇文章可以为您提供帮助。 8 款顶级硬盘数据恢复软件解决…