R语言阈值效应函数cut.tab2.0版发布(支持线性回归、逻辑回归、cox回归,自定义拐点)

本文主要是介绍R语言阈值效应函数cut.tab2.0版发布(支持线性回归、逻辑回归、cox回归,自定义拐点),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

阈值效应和饱和效应是剂量-反应关系中常见的两种现象。阈值效应是指当某种物质的剂量达到一定高度时,才会对生物体产生影响,而低于这个剂量则不会产生影响。饱和效应是指当某种物质的剂量达到一定高度后,其影响不再随剂量的增加而增加,即产生饱和现象。这两种效应在药物、毒物、营养物质等剂量-反应关系中都有应用。
接下来聊聊RCS阈值函数是干什么用的,随便抓一篇论文给大家看看,粉丝发给我的。
L-shaped association of serum 25-hydroxyvitamin D concentrations
with cardiovascular and all-cause mortality in individuals with osteoarthritis: results
from the NHANES database prospective cohort study

在这里插入图片描述
我们看到它曲线拟合后直接就是一个表

在这里插入图片描述
在这里插入图片描述
列出了25(OH)D在54.4就是转弯处前对结局影响的HR,还有在转弯后对结局影响的HR。

在既往我们在文章《cox回归RCS阈值效应函数cut.tab1.3发布》发布了自写的阈值效应函数1.3版本,反应还不错,不过1.3版本只能支持cox回归,本次发布了新的2.0版本,支持线性回归、逻辑回归、cox回归, 还有自定义拐点功能。泊松回归还不支持,目前正在开发中。下面我来演示一下,怎么通过ggrcs包做出上面论文这样一个图和自写的函数cut.tab20版来做出这样一个表
我们先导入数据和R包,数据使用ggrcs包的自带数据

library(ggrcs)
library(rms)
library(ggplot2)
library(scales)
library(cowplot)
library(survey)
dt<-smoke

在这里插入图片描述
这是ggrcs包自带的吸烟数据status结局,time时间,age年龄,gender性别,我们先整理数据

dd<-datadist(dt)
options(datadist='dd')

建立模型

fit <- cph(Surv(time,status==1) ~ rcs(age,4), x=TRUE, y=TRUE,data=dt)

绘图

ggrcs(data=dt,fit=fit,x="age")

在这里插入图片描述
我们绘图好以后想要了解它的拐点,需要先导入我写的函数

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

导入成功后,左侧应该生成19个函数,表明已经成功导入
在这里插入图片描述
接下来咱们还要建一个新的fit1和原来的fit稍微有点不一样的,这个是没有rcs函数的。自己比较一下。(划重点)

fit1 <-cph(Surv(time,status==1) ~ age,data=dt)

接下来使用cuttab函数生成拐点数据,这里注意一下,新版本和旧版本不同的是这里是cph生成生存模型,cuttab重点是没有点这个符号的。

out<-cuttab(fit1,"age",dt)

最终函数定义的拐点是38.449,新版本还支持自定义拐点设置,等会演示。这个表我要说明一下d6这里这个似然比只是表明它是不是直线,似然比大于0.05说明是个直线,并不是说直线就没有意义了(等下我再解释一下),P值这里主要看的是分段的P值。

最后生成节点的虚线

p<-ggrcs(data=dt,fit=fit,x="age")
p+geom_vline(aes(xintercept=40),colour="#BB0000", linetype="dashed")

在这里插入图片描述
发个旧版本的操作视频

代码+视频,手把手教你R语言ggrcs包绘制限制立方样条图+阈值效应分析

需要获取cut.tab2.0版函数的请看这篇文章:

R语言阈值效应函数cut.tab2.0版发布(支持线性回归、逻辑回归、cox回归,自定义拐点)

这篇关于R语言阈值效应函数cut.tab2.0版发布(支持线性回归、逻辑回归、cox回归,自定义拐点)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/681495

相关文章

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

C++中::SHCreateDirectoryEx函数使用方法

《C++中::SHCreateDirectoryEx函数使用方法》::SHCreateDirectoryEx用于创建多级目录,类似于mkdir-p命令,本文主要介绍了C++中::SHCreateDir... 目录1. 函数原型与依赖项2. 基本使用示例示例 1:创建单层目录示例 2:创建多级目录3. 关键注