限制性立方样条函数(RCS)在比较非线性关系中很常用。既往我们已经讲过R语言制作限制性立方条图,但是讲得比较简单,中间有些环节没写出来,我也不是很满意,今天重新来说一下。主要是要用到rms包的rcs函数来绘制,继续用我们的乳腺癌数据来绘制,因为目前也没找到什么好的数据。
我们先导入包,导入数据

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


我们先来看看数据:
age表示年龄,pathsize表示病理肿瘤大小(厘米),lnpos表示腋窝淋巴结阳性,histgrad表示病理组织学等级,er表示雌激素受体状态,pr表示孕激素受体状态,status结局事件是否死亡,pathscat表示病理肿瘤大小类别(分组变量),ln_yesno表示是否有淋巴结肿大,time是生存时间,后面的agec是我们自己设定的,不用管它。

转换分类变量并且抽取一部分变量等下来拟合模型

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

对数据进行打包,整理

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

拟合模型

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

生成预测值并且做图,我们要注意一下,这里的exp等于把它返回了HR值

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



Nonlinear值为0.33,提示不是非线性,
论文中我们常可以看见有一条等于1的对比线,如下图这样,说明线上的值大于1,线下面小于1。我们可以通过HR等于1的age对它进行设定。

我们进行查看预测表,HR等于1,age为50

dd$limits$age[2] <-50
fit1=update(fit)

最后画出图形

HR<-Predict(fit, age,fun=exp,ref.zero = TRUE)
ggplot(HR)
ggplot()+geom_line(data=HR, aes(age,yhat),linetype=1,size=1,alpha = 0.9,colour="red")+geom_ribbon(data=HR, 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="HR (95%CI)")


其他模型做法也是一样的,只是在构建模型这一块不同。
原创不易,求关注,求分享,求点击广告,各种求

实例演示R语言制作限制性立方条图相关推荐

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

    临床上,因变量和临床的结局有时候不是线性关系,而回归模型有一个重要的假设就是自变量和因变量呈线性关联,因此非线性关系模型用回归分析来拟合受到限制.因此,一个更好的解决方法是拟合自变量与因变量之间的非线 ...

  2. stata两种方法制作限制立方条图

    我们前面已经讲了怎么使用R语言制作限制立方条图,今天来讲讲怎么使用stata制作限制立方条图,参考了网上常见的两种做法,顺便比较一下做图出来的差异,然后在和R语言比较一下. 首先要导入stata的xb ...

  3. R语言----制作数据分布图(直方图+概率密度曲线)

    R语言--制作group1和group2的分布图并输出tiff格式300dpi保存 制作分布图我选择的是制作直方图+概率密度曲线~ library(ggplot2) data<-read.csv ...

  4. 手把手教你使用R语言制作临床决策曲线

    DCA(Decision Curve Analysis)临床决策曲线是一种用于评价诊断模型诊断准确性的方法,在2006年由AndrewVickers博士创建,我们通常判断一个疾病喜欢使用ROC曲线的A ...

  5. r语言 html gif,推荐 :6步教你用R语言制作动图

    原标题:推荐 :6步教你用R语言制作动图 引言 数据可视化可能是数据科学领域最重要却通常最少被提及的部分. 我这么说是因为创造数据故事和可视化对你的顾客最终怎么看待你的工作有巨大的影响.数据科学不仅仅 ...

  6. R语言绘制环形树状图

    R语言绘制环形树状图 1.主要用到dendextend和circlize包绘图: library(dendextend) library(circlize)# 距离矩阵 d <- dist(US ...

  7. R语言绘制二维密度图

    R语言绘制二维密度图 二维密度图显示了两个数值变量之间的关系,一个在x轴上表示,另一个在Y轴上表示,与散点图类似,然后计算二维空间中特定区域内的观测数,并用颜色梯度表示.二维密度图有几种类型,以下主要 ...

  8. R语言ggplot2可视化分面图使用facet_wrap函数和facet_grid函数实战

    R语言ggplot2可视化分面图使用facet_wrap函数和facet_grid函数实战 目录 R语言ggplot2可视化分面图使用facet_wrap函数和facet_grid函数实战

  9. R语言ggplot2可视化树状图、层次聚类系统树图、树状图根据给定的距离度量将相似点分组在一起、并根据点的相似性将它们组织成树状图链接起来(Hierarchical Dendrogram)

    R语言ggplot2可视化树状图.层次聚类系统树图.树状图根据给定的距离度量将相似点分组在一起.并根据点的相似性将它们组织成树状图链接起来(Hierarchical Dendrogram) 目录

最新文章

  1. python 怎样使list 里面的数据相加
  2. 智源学者韩银和、蔡一茂入选2020年度国家杰出青年科学基金建议资助项目申请人名单...
  3. ArrayMap java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Object[]
  4. Objective-C 中Socket常用转换机制(NSData,NSString,int,Uint8,Uint16,Uint32,byte[])
  5. IDEA配置 及 快捷键
  6. 大型网站电商网站架构案例和技术架构的示例
  7. Pandas 文本数据方法 is*()
  8. csv 逗号数量不一样_MySQL Workbeach导入CSV时的大坑,一直都是UTF-8问题,绕不过去了~。~...
  9. sql查询初学者指南_面向初学者SQL Server查询执行计划–非聚集索引运算符
  10. 数据结构笔记(六)-- 双向链表
  11. oss读取指定文件夹下所有图片
  12. 知到大学生创业基础(上海理工大学)期末考试试题汇总(含答案)
  13. IOS视频播放器VKVideoPlayer
  14. 大学计算机课思维导图,快速记忆和理解大学计算机思维导图
  15. android手机设置固定dns,安卓手机修改WiFi DNS设置的方法
  16. 怎么将视频转换成mp4?
  17. JSON在JS中的应用
  18. Springboot毕设项目理财管理系统mnl7cjava+VUE+Mybatis+Maven+Mysql+sprnig)
  19. 教你怎么阅读外文文献
  20. PHP做后端编程的入门

热门文章

  1. CentOS 如何更改SSH端口的方法
  2. 雷军证实小米 13 Ultra 存在;美国最佳雇主百强公布,苹果与 Meta 落榜;Android 13 测实用新功能|极客头条
  3. poj-2491-Scavenger Hunt
  4. 家装有必要用阻燃电线吗?
  5. MacBook如何删除卸载软件
  6. 前男友的婚礼(转载)
  7. html5 canvas简易版捕鱼达人游戏源码
  8. 量化交易入门书籍推荐
  9. 实例学习ansible系列(12)常用模块之docker
  10. Android 拦截来电