一行代码绘制高分SCI限制立方图

news2025/2/22 23:39:52

一、概述

Restricted cubic splines (RCS)是一种基于样条函数的非参数化模型,它可以可靠地拟合非线性关系,可以自适应地调整分割结点。在统计学和机器学习领域,RCS通常用来对连续型自变量进行建模,并在解释自变量与响应变量的关系时更加准确和精细。之前有写一篇RCS的文章,但是还是有一定的难度,经过一段时间的研究,发现rcssci包更为简便好用。

二、数据集

1. 安装及其使用

在安装该包的时候需要预先安装rms4.2.3的版本,我的R是4.2.1的版本,在安装rms报了如下的错误:

Warning: 无法在貯藏處http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/4.2中读写索引:
无法打开URL'http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/4.2/PACKAGES'
试开URL’https://mirrors.bfsu.edu.cn/CRAN/bin/windows/contrib/4.2/Matrix_1.5-4.zip' 
Content type 'application/zip' length 4639619 bytes (4.4 MB) downloaded 4.4 MB
程序包‘Matrix’打开成功,MD5和检查也通过 Warning: 无法将拆除原来安装的程序包‘Matrix’ Warning: 回复了‘Matrix’ 
下载的二进制程序包在 C:\Users\ASUS\AppData\Local\Temp\RtmpO8P4Xi\downloaded_packages里
Warning message: In file.copy(savedcopy, lib, recursive = TRUE) : 
拷贝D:\Program Files\R\R-4.2.1\library\00LOCK\Matrix\libs\x64\Matrix.dll到D:\Program Files\R\R-4.

这个警告信息表示你在从 CRAN 上下载包时出现了读写索引失败的问题,可能是因为你的网络连接问题。然后你从北京外国语大学的镜像中下载并安装了“Matrix”包的最新版本1.5-4。然后你看到程序包已经成功安装但又收到了无法将拆除原来安装的程序包‘Matrix’的警告信息。这个警告信息是告诉你在安装新版本的‘Matrix’包时,R无法自动卸载原来的包。这通常是因为‘Matrix’包正在被占用,无法删除它。解决方法如下:

remove.packages("Matrix")
install.packages("Matrix", version = "1.5-4")

安装依赖包

install.packages('rms')
library(rms)
install.packages('rcssci')
library(rcssci)

2. 读取数据

首先,我们需要读取sbpdata数据集,查看数据集信息

data(sbpdata)
head(sbpdata,3)

数据集展示:

# A tibble: 3 × 5
  gender status   age   sbp  time
   <dbl>  <dbl> <dbl> <dbl> <dbl>
1      1      1    77  101.   177
2      2      1    53  113.   164
3      1      0    70  115.   197

三、基础用法

rcssci包V1.0版核心函数有3个,rcssci_cox、rcssci_logistic、rcssci_linear,其分别适合于模型为等比例风险cox模型,经典二分类logistic和一般线性模型。前2者y轴为效应量HR、OR;后者y轴为原始y。rcssci包V1.0版Y为OR/HR/y效量非线性剂量关系。rcssci包在工作目录下自动输出4套RCS双坐标图(PDF版,方便大家后续ppt编辑),图例包括:

  1. 总P值、非线性趋势P值,切点包括U型、∩型、及L型等等非线性形态切点的自动获取。

  2. 4套RCS双坐标图分别为:fig.proball.pdf,fig.ushapall.PDF,fig.nshapall.PDF,fig.lshapall.PDF。

    • fig.proball.pdf,ABCD子图,均为位置参数refvalue=prob时RCS趋势图。

    • fig.ushapall.PDF,ABCD子图,均为位置参数refvalue=prob时可能的更具有解释性的U型(U/J)图。

    • fig.nshapall.PDF,ABCD子图,均为位置参数refvalue=prob时可能的更具有解释性的倒U(n)型图。

    • fig.lshapall.PDF,ABCD子图,均为位置参数refvalue=prob时可能的更具有解释性的L(L/平原/log/-log/S)型图。rcssci_cox、rcssci_logistic可以输出带直方图或密度图的双坐标图,rcssci_linear则不输出直方图或密度图。

1. 实战cox分析

  • 方法参数解释
参数
data      数据集
knot      结=3-7 或按 AIC 最小值自动计算
y          结果=0,1
time      审查时间
covs      协变量,不带“COVS”命令的单变量分析,使用“COVS”命令的多变量分析
prob      位置参数,范围从0-1
x          X 轴
filepath  绘图输出的路径。
  • 代码演示
rcssci_cox(data=sbpdata, y = "status",x = "sbp",covs=c("age","gender"),time = "time", prob=0.1,filepath= 'D:/log/cox')
  • 结果展示

    fig.cox_lshapall

fig.cox_lshapall

fig.cox_nshapall

image

fig.cox_proball

image

fig.cox_ushapall image

image

2. 实战logistic分析

  • 方法参数解释
参数
data      数据集
knot      结=3-7 或按 AIC 最小值自动计算
y          结果=0,1
time      审查时间
covs      协变量,不带“COVS”命令的单变量分析,使用“COVS”命令的多变量分析
prob      位置参数,范围从0-1
x          X 轴
filepath  绘图输出的路径。
  • 代码演示
rcssci_logistic(data=sbpdata, y = "status",x = "sbp",
prob=0.1,filepath='D:/log/logic')
  • 结果展示

fig.logistic_lshapall image

fig.logistic_nshapall image

fig.logistic_proball image

fig.logistic_ushapall image

3. 实战linear分析

  • 方法参数解释
参数
data      数据集
knot      结=3-7 或按 AIC 最小值自动计算
y          结果=0,1
time      审查时间
covs      协变量,不带“COVS”命令的单变量分析,使用“COVS”命令的多变量分析
prob      位置参数,范围从0-1
x          X 轴
filepath  绘图输出的路径。
  • 代码演示
rcssci_linear(data=sbpdata, y = "status",x = "sbp",
prob=0.1,filepath='D:/log/liner')
  • 结果展示 image 这里也有四组,差不太多,就不再展示。

四、图形讲解

结果解析:本例研究结果为:P-overall<0.001,P non-linear <0.001,表明总的检验有意义,非线性关联检验也有意义,呈现出平原阈值关联。大致在60岁-80岁,为平原阈值。y为连续型,往往更偏重描述曲线递增或递减趋势。本例从L型断点发现80岁是个断点。 ✔

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

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

相关文章

抑梯度异常初始化参数(防止梯度消失和梯度爆炸)

这里设置3种参数初始化的对比&#xff0c;分别是&#xff1a;全初始化为0、随机初始化、抑梯度异常初始化。 首先是正反向传播、画图、加载数据所需的函数init_utils.py&#xff1a; # -*- coding: utf-8 -*-import numpy as np import matplotlib.pyplot as plt import sklea…

双层优化入门(3)—基于智能优化算法的求解方法(附matlab代码)

前面两篇博客介绍了双层优化的基本原理和使用KKT条件求解双层优化的方法&#xff0c;以及使用yalmip工具箱求解双层优化的方法&#xff1a; 双层优化入门(1)—基本原理与求解方法 双层优化入门(2)—基于yalmip的双层优化求解(附matlab代码) 除了数学规划方法之外&#xff0c;…

springboot+vue大学生体质测试管理系统(源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的大学生体质测试管理系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xf…

how2heap-fastbin_dup.c

不同libc版本的fastbin_dup.c源码有点小区别&#xff1a;主要是有tcache的&#xff0c;需要先填充 以下为有tcache的源码示例&#xff1a; #include <stdio.h> #include <stdlib.h> #include <assert.h>int main() {setbuf(stdout, NULL);printf("This…

诗词·宇宙之梦

宇宙之梦 重力枷锁必将断&#xff0c;携君翱翔万里空。 迷途夜路寻踪迹&#xff0c;一声呼唤莫轻忽。 寻觅中&#xff0c;见红瞳&#xff0c;决不装假觉清白。 黑泽之中君沉沦&#xff0c;放之不下心怎静。 重力终将解开放&#xff0c;卫星翔空自由翱。 重量减半去忧愁&#xf…

RobotFramework+Eclispe环境安装篇

环境安装是学习任何一个新东西的第一步&#xff0c;这一步没走舒坦&#xff0c;那后面就没有心情走下去了。 引用名句&#xff1a;工欲善其事必先利其器&#xff01;&#xff01; Robotframework&#xff1a;一款 自动化测试框架。 Eclipse&#xff1a;一款编辑工具。可以编…

Android MVVN 使用入门

MVVM&#xff08;Model-View-ViewModel&#xff09;是一种基于数据绑定的设计模式&#xff0c;它与传统的 MVC 和 MVP 模式相比&#xff0c;更加适合处理复杂的 UI 逻辑和数据展示。在 Android 开发中&#xff0c;MVVM 通常使用 Data Binding 和 ViewModel 实现。 下面是一个简…

正则化解决过拟合

本片举三个例子进行对比&#xff0c;分别是&#xff1a;不使用正则化、使用L2正则化、使用dropout正则化。 首先是前后向传播、加载数据、画图所需要的相关函数的reg_utils.py&#xff1a; # -*- coding: utf-8 -*-import numpy as np import matplotlib.pyplot as plt impor…

双层优化入门(2)—基于yalmip的双层优化求解(附matlab代码)

上一篇博客介绍了双层优化的基本原理和使用KKT条件求解双层优化的方法&#xff1a; 双层优化入门(1)—基本原理与求解方法 这篇博客将介绍使用yalmip的双层优化问题的求解方法。 1.KKT函数 通过调用yalmip工具箱中的KKT函数&#xff0c;可以直接求出优化问题的KKT条件&#x…

算法(一)—— 回溯(2)

文章目录 1 131 分割回文串2 93 复原 IP 地址 s.substr(n, m) // 从字符串s的索引n开始&#xff0c;向后截取m个字符 例&#xff1a; string s "aaabbbcccddd"; string s1 s.substr(2,3); 此时s1为abb 1 131 分割回文串 切割问题&#xff0c;前文均为组合问题。组…

【Promptulate】一个强大的LLM Prompt Layer框架

本文节选自笔者博客&#xff1a; https://www.blog.zeeland.cn/archives/promptulate666 项目地址&#xff1a;https://github.com/Undertone0809/promptulate &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是Zeeland&#xff0c;全栈领域优质创作者。&#x1f4dd;…

pyinstaller打包为.exe过程中的问题与解决方法

目录 问题一&#xff1a;.exe文件过大问题二&#xff1a;pyinstaller与opencv-python版本不兼容问题三&#xff1a;打开文件时提示***.pyd文件已存在问题四&#xff1a;pyinstaller打包时提示UPX is not available.另&#xff1a;查看CUDA成功配置的方法 pyinsatller -F -w mai…

瑞吉外卖 - 开发环境搭建(2)

某马瑞吉外卖单体架构项目完整开发文档&#xff0c;基于 Spring Boot 2.7.11 JDK 11。预计 5 月 20 日前更新完成&#xff0c;有需要的胖友记得一键三连&#xff0c;关注主页 “瑞吉外卖” 专栏获取最新文章。 相关资料&#xff1a;https://pan.baidu.com/s/1rO1Vytcp67mcw-PD…

网络编程启蒙

文章目录 局域网、广域网WAN口LAN口那么什么是局域网和广域网呢&#xff1f; IP地址IPV4动态规划ipNAT IPV6IPV6的普及IPV6的应用 端口号协议协议分层协议分层的好处 OSI物理层数据链路层网络层&#xff08;全局&#xff09;传输层负责应用层网络设备所在分层网络分层中的一组重…

mybatis-plus实现乐观锁和悲观锁

目录 定义 场景 乐观锁与悲观锁 模拟修改冲突数据库中增加商品表 乐观锁实现 悲观锁 定义 1&#xff09;乐观锁 首先来看乐观锁&#xff0c;顾名思义&#xff0c;乐观锁就是持比较乐观态度的锁。就是在操作数据时非常乐观&#xff0c;认为别的线程不会同时修改数据&#x…

红旅在线语料库网站 开发笔记

桂林红色旅游资源在线语料库网站 &#xff08;Guilin Red Culture Corpus&#xff09;提供双语文本检索和分享功能。供英语、翻译相关专业的爱好者&#xff0c;学生和老师学习使用。 该网站是对BiCorpus开源项目的二次开发(已获得原作者授权)。 项目仓库&#xff1a;RedCorpu…

小米miui14更新公测

一人内测&#xff0c;全员公测&#xff0c;懂得都懂[滑稽] 必应搜索醉里博客http://202271.xyz?miui 1月份有一部分机型就要公测了&#xff0c;相关用户愿意等的可以再等等。 本篇介绍最简单粗暴的替换法&#xff0c;不管你刷没刷过机都可以用这个方法偷渡MIUI14 ★★★评论…

区间预测 | MATLAB实现QRCNN-GRU卷积门控循环单元分位数回归时间序列区间预测

区间预测 | MATLAB实现QRCNN-GRU卷积门控循环单元分位数回归时间序列区间预测 目录 区间预测 | MATLAB实现QRCNN-GRU卷积门控循环单元分位数回归时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 1.Matlab实现基于QRCNN-GRU分位数回归卷积门控循环…

可靠性设计:元器件、零部件、原材料的选择与控制

通常&#xff0c;一个产品由各种基础产品(包括各种元器件、零部件等)构成。由于元器件、零部件的数量、品种众多&#xff0c;所以他们的性能、可靠性、费用等参数对整个系统性能、可靠性、寿命周期费用等的影响极大。 原材料则是各种基础产品的基本功能赖以实现的基础&#xf…

储氢合金/金属氢化物床层有效导热系数的数学模型

最近看到一篇有关“储氢合金/金属氢化物床层有效导热系数的数学模型”的论文&#xff0c;文章DOI&#xff1a;10.1016/j.energy.2023.127085&#xff0c;文章提到的数学物理模型还算好理解一些&#xff0c;特意分享给各位感兴趣的大佬。 一、物理模型简图和假设 文章里&#xf…