scitb5函数1.4版本(交互效应函数P for interaction)发布----用于一键生成交互效应表

news2024/11/17 6:15:03

在SCI文章中,交互效应表格(通常是表五)能为文章锦上添花,增加文章的信服力,增加结果的可信程度,还能进行数据挖掘。
在这里插入图片描述
交互效应表我在既往文章《R语言手把手教你制作一个交互效应表》已经介绍怎么制作了,详细的可以去看一下。
本次发布我自己写的scitb5函数,参考了forestmodel包和一些其他的R包的写法。用于一键生成交互效应表,主要是可以给你省点时间,也可以进行数据挖掘。
要注意一下,只发布了目标变量X是连续变量的的交互效应函数,买错我可不负责!!
分类变量的还在写,过段时间应该可以发布。
scitb5函数支持逻辑回归、cox回归还有线性回归模型。下面我来演示一下,先做逻辑回归
导入我们的早产数据(公众号回复:早产数据,可以得到数据)

bc<-read.csv("E:/r/test/zaochan.csv",sep=',',header=TRUE)
bc <- na.omit(bc)
names(bc)
dput(names(bc))

在这里插入图片描述
先对数据进行一些整理,这一步是必要的,你要分层的变量都要转成因子

bc$race<-ifelse(bc$race=="black",1,ifelse(bc$race=="white",2,3))
bc$smoke<-ifelse(bc$smoke=="nonsmoker",0,1)
bc$low<-factor(bc$low)
bc$race<-factor(bc$race)
bc$ht<-factor(bc$ht)
bc$ui<-factor(bc$ui)

接下来导入函数,我把它写成了一个函数文件1.4final.R,直接使用source导入就可以了

source("E:/r/test/1.4final.R")

导入成功后会出现如下图标,显示有3个函数,这样就说明加载成功了
在这里插入图片描述
接下来我们就是要定义交互也就是分层变量,cov1表示在你模型出现的协变量,Interaction表示你要交互也就是分层的变量,我在函数中设定交互变量必须包含在协变量中,不然会报错。

cov1<-c("lwt","smoke","ptl","ui","ftv","race")	
Interaction<-c("race","smoke","ui")

定义好以后我们就可以使用scitb5函数了,这个函数需要survival包和lmtest包支持,必须先安装好这两个包,使用函数后会自己加载这两个包。scitb5函数我来解释一下data就是你的数据,必须是数据框形式,x是你的目标变量,目前必须是连续变量,y是你的结局变量,Interaction输入:交互变量,cov输入:协变量,family定义你的模型,逻辑回归就定义为logit。

out<-scitb5(data=bc,x="age",y="low",Interaction=Interaction,cov = cov1,family="logit")

在这里插入图片描述
一句话代码交互效应表就生成了。还算相对简单吧。接下来做一个cox回归的,导入乳腺癌数据(公众号回复:乳腺癌,可以得到数据)

library(foreign)
library("survival")
bc <- read.spss("E:/r/Breast cancer survival agec.sav",
                use.value.labels=F, to.data.frame=T)
bc <- na.omit(bc)

在这里插入图片描述
分类变量转成因子

bc$er<-as.factor(bc$er)
bc$pr<-as.factor(bc$pr)
bc$ln_yesno<-as.factor(bc$ln_yesno)
bc$histgrad<-as.factor(bc$histgrad)
bc$pathscat<-as.factor(bc$pathscat)
dput(names(bc))

定义协变量和交互变量

cov1<-c("pathsize", "lnpos", "er", "pr", "histgrad",
        "pathscat", "ln_yesno")
Interaction<-c("histgrad","er", "pr")

使用函数生成交互效应表,使用cox回归必须定义时间,不然会报错

out<-scitb5(data=bc,x="age",y="status",Interaction=Interaction,cov = cov1,time="time",family="cox")

在这里插入图片描述
接下来做线性回归,这里使用的是ggplot2包的汽车数据

bc<-as.data.frame(ggplot2::mpg)
dput(names(bc))

在这里插入图片描述
分类变量转成因子

bc$cyl<-as.factor(bc$cyl)
bc$model<-as.factor(bc$model)
bc$drv<-as.factor(bc$drv)
bc$fl<-as.factor(bc$fl)
bc$class<-as.factor(bc$class)
bc$trans<-as.factor(bc$trans)

定义协变量和分类变量

cov1<-c("model", "displ","cyl", "trans", "drv", 
        "cty", "hwy", "fl", "class")
Interaction<-c("drv","fl","class","model")

做表,线性回归中这里系数,使用β表示。

out<-scitb5(data=bc,x="displ",y="hwy",Interaction=Interaction,cov = cov1,family="linear")

在这里插入图片描述
在这里插入图片描述
这里出现一个问题,为什么我们这里定义了“drv",“fl”,“class”,“model"4个分层变量,然后最终只做出了“drv"这个变量,
信息提示"fl”,“class”,"model"这3个变量不适合进行分层。
[1] “fl is Not suitable for layering”
[1] “class is Not suitable for layering”
[1] “model is Not suitable for layering”
这个问题我等会再说,我们通过一个粉丝的数据来说明这个问题,我们先导入这个数据

bc<-read.csv("E:/r/fensi/final1.csv",sep=',',header=TRUE)
dput(names(bc))

转换分类变量为因子

bc[,c("x2", "x3", "x4", "x5", "x6", "x7")] <- lapply(bc[,c("x2", "x3", "x4", "x5", "x6", "x7")], factor)
str(bc)

定义协变量和交互变量

Interaction<-c("x2", "x3", "x4","x5")
cov<-c("x2", "x3", "x4", "x5", "x6", "x7")

生成表格,这里也是值生成了3个,x5没有生成

out<-scitb5(data=bc,x="x1",y="y",Interaction=Interaction,cov = cov,family="logit")

在这里插入图片描述
在这里插入图片描述
显示"x5 is Not suitable for layering",意思是x5这个变量不适合做分层交互,为什么呢?我们先来看一下x5这个数据它,分的层很多,分类4个层

levels(factor(bc[,"x5"]))

在这里插入图片描述
我们取一个亚组来看看,它x5==1的时候x6、x7的数据全部是0,没有其他的变量了,这样组合不了模型,所以会报错,所以函数会自动放弃这个变量。

be<-subset(bc,bc$x5==1)

在这里插入图片描述
所以说,如果你的数据不多,分层变量中分为太多类型,会导致建模失败,不能进行分类。我在在其他的包也试了一下,也是一样建模失败。

获取scitb5函数代码请参看这篇文章:

scitb5函数1.4版本(交互效应函数P for interaction)发布----用于一键生成交互效应表

本函数还在继续更新中,如有错误或者有什么好的建议,欢迎和我联系。

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

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

相关文章

提效新纪元-组件化开发在转转App中的应用-后端篇

1 前言 组件化开发是一种利用可重用的软件构件来设计和开发计算机系统的过程。借助组件化开发可以实现最小化、高效交付。 平台基础体验部将业务逻辑抽象为组件&#xff0c;通过组合组件快速构建商品Feed流&#xff0c;研发效率整体提升2倍。组件化开发不仅带来效率的提升&am…

【AI大模型智慧办公】教你用讯飞星火大模型5分钟写一个转正述职ppt

文章目录 前言SparkDesk讯飞星火认知大模型简介利用讯飞星火写一个转正述职ppt1.告诉讯飞星火我想写一篇转正述职ppt2.利用MindShow一键生成ppt 申请体验写在最后 前言 随着ChatGPT迅速走红,国内各大企业纷纷发力认知大模型领域。经过一段时间的酝酿,讯飞“星火认知大模型”于…

解决matplotlib画图去除非常多的白色边框

文章目录 解决matplotlib画图去除非常多的白色边框本文说明为什么matplotlib画图会默认有很多白色边框&#xff1f;绘图默认绘图去除白边方法一&#xff0c;修改保存图像的代码取消白边略微增加白边 去除白边方法二&#xff0c;修改显示图像的代码 总结 解决matplotlib画图去除…

Maven构建生命周期

目录 Default (Build) 生命周期 命令行调用 Site 生命周期 如何清除本地 Maven 仓库并重新构建项目 Maven 构建配置文件 mvn dependency:purge-local-repository 这个命令是干什么的&#xff1f; mvn clean install这个命令是干什么的&#xff1f; 配置文件激活 1、配…

自从外包三年半,程序员人废了一半

如果不是女朋友和我提分手&#xff0c;我估计现在还没醒悟。大专生&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了3年多的CRUD&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企…

HBase入门 修改表字段类型(十一)

一、查询看 自己表的DATA_TYPE select TENANT_ID,TABLE_SCHEM,TABLE_NAME,COLUMN_NAME,COLUMN_FAMILY,DATA_TYPE,TYPE_NAME,COLUMN_SIZE,DECIMAL_DIGITS from system.catalog where TABLE_NAME表名2、修改为varchar类型 upsert into SYSTEM.CATALOG (TENANT_ID,TABLE_SCHEM,TA…

如何高清视频录制?您只需要这样操作!

案例&#xff1a;如何录制画质高清的视频&#xff1f; 【我录制了一个视频课程&#xff0c;上传到网上&#xff0c;但是我录制的视频画质不好&#xff0c;影响观感。有没有支持高清录制的录屏工具&#xff1f;有没有小伙伴可以推荐一下&#xff01;在线等&#xff01;】 无论…

ChatGpt与AI交谈的未来到来,你准备好了吗?

ChatGpt已经成为了人工智能领域中的一颗明珠&#xff0c;它可以根据用户提出的问题进行分析和回答&#xff0c;帮助用户解决问题和获取信息。而未来&#xff0c;随着人工智能技术的进一步发展&#xff0c;ChatGpt与AI交谈将成为一种更加普遍和重要的交流方式。你准备好了吗&…

7 文件操作、单元测试、goroutine【Go语言教程】

7 文件操作、单元测试、goroutine【Go语言教程】 1 文件操作 1.1 介绍 os.File 封装所有文件相关操作&#xff0c;File 是一个结构体 常用方法&#xff1a; 打开文件 关闭文件 package mainimport ("fmt""os" )func main(){//打开文件//file又叫做&…

VPGTrans: 10%的成本定制你自己的类GPT-4多模态大模型

作者 | 张傲 最近的多模态&#xff08;对话&#xff09;大模型将基于文本的ChatGPT的强大能力扩展到了多模态输入&#xff0c;实现强大的多模态语义理解&#xff0c;比如GPT-4、BLIP-2、Flamingo等。但咱们普通玩家训练一个多模态GPT代价非常昂贵。来自于新加坡国立大学和清华大…

基于SSM框架的核酸检测管理系统

基于SSM框架的核酸检测管理系统 快速查看 基于SSM框架的核酸检测管理系统功能需求开发工具模块相关技术系统相关图片 功能需求 用户模块&#xff1a; 注册功能&#xff1a;普通用户可以访问本系统进行账户注册&#xff0c;个人资料&#xff1a;登录系统对自己的个人资料&…

Parker派克伺服电机有哪些优势特点?如何选型?

一、什么是伺服电机&#xff1f; 伺服电机是一种可以通过控制器精确地控制位置、速度和加速度的电机&#xff0c;主要由电机、编码器和控制器三部分组成&#xff0c;具有高转矩、高精度、快速响应和低转速稳定特性&#xff0c;能够在负载扰动、电压变化及机械特性变化下保持较…

springboot整合邮箱功能二(普通邮件, html邮件, thymleaf邮件)

【SpringBoot整合Email发送邮件】_ζั͡ ั͡空 ั͡ ั͡白&#xfffd;的博客-CSDN博客 https://www.cnblogs.com/erlou96/p/16878192.html#_label1_5 1. 准备工作 1.1 qq邮箱设置 本文默认使用qq邮箱来发送邮件,然后使用一个在线临时邮箱来接收邮件。为了让程序能够通过…

srs one2one,one2many通话环境搭建

一、简介 二、go环境配置 三、srs编译配置 四、信令服务器编译 4.1 signaling8 4.2 web服务器 五、测试 六、附录 官⽅⽂档参考地址&#xff1a;https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#sfu-one-to-one 一、简介 srs的webrtc能力和两个信令服务器不管是逻辑上还是代码…

Linux 进程基础

目录 1、进程的概念 2、进程与线程的区别、进程与程序的区别 2.1 进程与线程的区别 2.2 进程与程序的区别 3、进程相关 shell 命令 3.1 ps 3.3.1 参数说明 3.3.2 结果说明 3.2 pidof 3.3 pstree 3.4 top 3.5 kill 4、进程相关函数 4.1 fork 4.1.1 fork的函数原型…

医院内导航及智能导医,医院导诊图怎么制作?

在大型综合性医院&#xff0c;由于专业分工精细&#xff0c;一个诊疗过程涉及的功能单元往往分布在不同的楼宇、不同楼层的不同位置&#xff0c;再加上多数患者对医院环境不熟悉&#xff0c;导致滞院的时间长、诊疗效率低、患者对服务的满意度下降。为解决这一问题&#xff0c;…

VMware Aria Operations for Logs 8.12 - 集中式日志管理

VMware Aria Operations for Logs 8.12 - 集中式日志管理 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-aria-operations-for-logs/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 集中式日志管理 VMware Aria …

蓝牙mesh数据包格式解析

蓝牙mesh数据包的结构如下图&#xff1a; 总长31个字节。 Length (1Byte)&#xff1a;数据长度 Type (1Byte)&#xff1a;广播类型 IVI (1bit)&#xff1a;用来认证加密Network PDU的IV index的最低位 NID (7bits)&#xff1a;网络ID&#xff0c;network ID。从网络密钥(Ne…

学习了两个多月就进了我们公司,顺利过了试用期,我心塞了...

转行起因 公司前段时间来了个大专机械专业毕业的&#xff0c;挺好奇他在如今这个环境下怎么进来的而且非本科非科班&#xff0c;后面我请他喝了一次酒&#xff0c;我才了解到他的故事&#xff0c;写出来与大家分享&#xff0c;希望对各位有点启迪。 他以前在一个大厂做售后工…

新来的00后真卷,我想离职了···

都说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。 这不&#xff0c;前段时间我们公司来了个00后&#xff0c;工作没两年&#xff0c;跳槽到我们公司起薪20K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了。…