R语言绘制限制立方条图2(基于logistic回归和线性回归)

这篇具有很好参考价值的文章主要介绍了R语言绘制限制立方条图2(基于logistic回归和线性回归)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

临床上,因变量和临床的结局有时候不是线性关系,而回归模型有一个重要的假设就是自变量和因变量呈线性关联,因此非线性关系模型用回归分析来拟合受到限制。因此,一个更好的解决方法是拟合自变量与因变量之间的非线性关系,限制性立方(Restricted cubic spline,RCS)就是分析非线性关系的最常见的方法之一。
既往教程中我们介绍了使用R语言在COX回归模型基础上绘制限制立方条图,后台有不少粉丝说道不会制作logistic回归和线性回归的限制立方条图,我们今天分别来讲讲。
先讲logistic回归绘制立方条图:
logistic回归主要用于结果是二分类变量,没有相关时间变量的模型。我们继续使用我们原来的乳腺癌数据凑合一下,先导入数据,

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

R语言绘制限制立方条图2(基于logistic回归和线性回归)
我们先来看看数据:
age表示年龄,pathsize表示病理肿瘤大小(厘米),lnpos表示腋窝淋巴结阳性,histgrad表示病理组织学等级,er表示雌激素受体状态,pr表示孕激素受体状态,status结局事件是否死亡,pathscat表示病理肿瘤大小类别(分组变量),ln_yesno表示是否有淋巴结肿大,time是生存时间,后面的agec是我们自己设定的,不用管它。
R语言绘制限制立方条图2(基于logistic回归和线性回归)
转换分类变量并且抽取一部分变量等下来拟合模型,这回我们就不需要时间变量time了

attach(be)
be<-data.frame(age,status,ln_yesno)
be$ln_yesno<-as.factor(be$ln_yesno)

对数据进行打包,整理

dd <- datadist(be) #为后续程序设定数据环境
options(datadist='dd') #为后续程序设定数据环境

拟合模型

fit <-lrm(status ~ rcs(age, 4)+ln_yesno,data=be)  
an<-anova(fit)

绘图

plot(Predict(fit, age,fun=exp), anova=an, pval=T)

R语言绘制限制立方条图2(基于logistic回归和线性回归)
后面的步骤其实和原教程基本一样,我这里就简单点,直接上代码了,需要详细点的可以看上一篇教程

dd$limits$age[2] <-50###设定标准
fit1=update(fit)###更新模型
OR<-Predict(fit, age,fun=exp,ref.zero = TRUE) ##生成预测值
ggplot()+geom_line(data=OR, aes(age,yhat),linetype=1,size=1,alpha = 0.9,colour="red")+
  geom_ribbon(data=OR, aes(age,ymin = lower, ymax = upper),alpha = 0.3,fill="red")+
  geom_hline(yintercept=1, linetype=2,size=1)+theme_classic()+ 
  labs(title = "RCS", x="age", y="OR(95%CI)")###绘图

R语言绘制限制立方条图2(基于logistic回归和线性回归)
接下来讲怎么绘制线性回归模型,这里我们使用我们原来的臭氧的数据,主要描述的是臭氧浓度和大气一些相关指标的情况,因为有些数据是非线性的,使用Logistic回归不合适我们先导入数据看一下

library(foreign)
library(rms)
be <- read.spss("E:/r/test/ozone.sav",
                use.value.labels=F, to.data.frame=T)
names(be)

R语言绘制限制立方条图2(基于logistic回归和线性回归)
数据中有七个变量,ozon每日臭氧水平为结局变量,Inversion base height(ibh)反转基准高度,Pressure gradient (mm Hg) 压力梯度(mm Hg),Visibility (miles) 能见度(英里),Temperature (degrees F) 温度(华氏度),Day of the year日期,vh我也不知道是什么,反正就是一参数,这里所有的变量都是连续的。
R语言绘制限制立方条图2(基于logistic回归和线性回归)
对数据进行打包,整理

dd <- datadist(be) #为后续程序设定数据环境
options(datadist='dd') #为后续程序设定数据环境

拟合模型

fit<-ols(ozon ~rcs(ibh, 4)+temp,data=be)
summary(fit)
an<-anova(fit)

R语言绘制限制立方条图2(基于logistic回归和线性回归)
生成预测值并且做图,我们要注意一下,这里的我们使用线性回归,所以我们是使用β,不再使用OR或者HR了,所以fun=exp这步不需要了

Predict(fit,ibh)
plot(Predict(fit,ibh),anova=an, pval=T)

R语言绘制限制立方条图2(基于logistic回归和线性回归)
也可以像上面教程一样加一条参考线,我这里就不加了

OLS1<-Predict(fit, ibh) 
ggplot()+geom_line(data=OLS1, aes(ibh,yhat),linetype=1,size=1,alpha = 0.9,colour="red")+
  geom_ribbon(data=OLS1, aes(ibh,ymin = lower, ymax = upper),alpha = 0.3,fill="red")+
  theme_classic()+ 
  labs(title = "RCS", x="ibh", y="ozon")

R语言绘制限制立方条图2(基于logistic回归和线性回归)
由上图看出,臭氧浓度和高度关系并不是越高越浓,而是在一定高度内臭氧浓度最高。
更多精彩文章请关注公众号:零基础说科研
R语言绘制限制立方条图2(基于logistic回归和线性回归)文章来源地址https://www.toymoban.com/news/detail-412976.html

到了这里,关于R语言绘制限制立方条图2(基于logistic回归和线性回归)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 多元回归预测 | Matlab基于逻辑回归(Logistic Regression)的数据回归预测,多输入单输出模型

    效果一览 文章概述 多元回归预测 | Matlab基于逻辑回归(Logistic Regression)的数据回归预测,多输入单输出模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码

    2024年02月13日
    浏览(53)
  • 使用AIC函数评估条件logistic回归模型的AIC值(R语言)

    使用AIC函数评估条件logistic回归模型的AIC值(R语言) 在统计建模中,AIC(赤池信息准则)是一种常用的模型选择准则,用于比较不同模型的拟合能力和复杂度。AIC值越小表示模型的拟合能力越好。 在R语言中,我们可以使用AIC函数来计算条件logistic回归模型的AIC值。条件logi

    2024年02月03日
    浏览(47)
  • 机器学习实战:Python基于Logistic逻辑回归进行分类预测(一)

    1.1 Logistic回归的介绍 逻辑回归( Logistic regression ,简称 LR )是一种经典的二分类算法,它将输入特征与一个sigmoid函数进行线性组合,从而预测输出标签的概率。该算法常被用于预测离散的二元结果,例如是/否、真/假等。 优点: 实现简单。Logistic回归的参数可以用极大似然

    2024年02月08日
    浏览(39)
  • 机器学习:基于逻辑回归(Logistic Regression)对股票客户流失预测分析

    作者:i阿极 作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍 📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪 专栏案例:

    2023年04月26日
    浏览(50)
  • 通过向量回归、随机森林回归、线性回归和K-最近邻回归将预测结果绘制成图表进行展示

    附件里会给出全部数据链接 导入需要用到的Python库。pandas用于处理数据,numpy用于科学计算,matplotlib.pyplot用于绘图,FontProperties用于设置字体属性。在这里我们导入了中文字体PingFang Bold.ttf,以后进行绘图时就可以使用这个字体了。 打开了名为“中国各地现货棉花价格.xlsx”

    2024年02月08日
    浏览(36)
  • 使用R语言进行多项式回归、非线性回归模型曲线拟合

    对于线性关系,我们可以进行简单的线性回归。对于其他关系,我们可以尝试拟合一条曲线。 相关视频 曲线拟合是构建一条曲线或数学函数的过程,它对一系列数据点具有最佳的拟合效果。 使用示例数据集 看起来我们可以拟合一条曲线。 我们可以看到每条曲线的拟合程度

    2024年02月09日
    浏览(35)
  • Logistic回归(逻辑回归)实战案例分析

    Lgistic回归也叫逻辑回归,是广义线性回归的一种,通常用于解决二分类问题。 表达式如下: 经过logit变换,则可以写成广义线性表达式 通常做回归是用其广义线性表达式,且logistic回归的结果概率表现为S型曲线,一般以小于0.5的样本都分类为0,大于0.5的样本都分类为1。

    2024年04月25日
    浏览(40)
  • 基于矩阵求导的线性回归

    矩阵求导 考虑矩阵乘法 A ⋅ B = C A cdot B = C A ⋅ B = C 考虑Loss函数 L = ∑ i m ∑ j n ( C i j − p ) 2 L = sum^m_{i}sum^n_{j}{(C_{ij} - p)^2} L = i ∑ m ​ j ∑ n ​ ( C ij ​ − p ) 2 考虑C的每一项导数 ▽ C i j = ∂ L ∂ C i j triangledown C_{ij} = frac{partial L}{partial C_{ij}} ▽ C ij ​ = ∂ C ij ​ ∂ L

    2023年04月20日
    浏览(35)
  • Logistic回归(逻辑回归)及python代码实现

    在模式识别问题中,所关心的量是分类,比如是否会患有某种疾病,这时就不能用简单的线性回归来完成这个问题了。为了解决次问题,我们引入了非线性激活函数 g : R D → ( 0 , 1 ) g:{mathbb R}^Dto(0,1) g : R D → ( 0 , 1 ) 来预测类别标签的后验概率 p ( y = 1 ∣ x ) p(y=1|bf x) p ( y =

    2024年02月07日
    浏览(41)
  • 【R语言(二):Nomogram(诺莫图/列线图)绘制 / R语言逻辑回归分析】

    1、基本概念 Nomogram,中文常称为诺莫图或者列线图。简单的说是将Logistic回归或Cox回归的结果进行可视化呈现。它根据所有自变量回归系数的大小来制定评分标准,给每个自变量的每个取值水平一个评分;对于每个患者,就可计算得到一个总分,再通过得分与结局发生概率之

    2024年02月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包