dxy logo
首页丁香园病例库全部版块
搜索
登录

Contour plot,了解一下

发布于 2020-09-14 · 浏览 3384 · IP 江苏江苏
这个帖子发布于 4 年零 230 天前,其中的信息可能已发生改变或有所发展。
icon推荐

前段时间,有位丁香园站友在版块内求助这样一张图(见图1和图2)的绘制方法。我看到后,感觉和曾经做过的分布滞后非线性模型(常用于气象与疾病发病率的关系研究)中的Contour plot(见图3)有点像,但又有区别。复现文章中的高级统计图,是我的一大乐趣。于是乎,经过一番努力,就有了今天的这篇推文。

img

图 1

img

图 2

img

图 3

在正式上“菜”之前,先简单介绍一下Contour plot这道菜。Contour plot,中文名:等高线图、等值线图,是一个2.5D 交互图。就图1.1(图1.2)而言,Contour plot表示的是肿瘤大小肿瘤直径这两个变量预测的患者3年生存率:随着肿瘤的增大和个数的增多,肿瘤患者的3年生存率在逐渐降低。图1.1和图1.2对应的文章放在文末,大家有兴趣可以下载了看一看。

在做科研的各位,想必都观察到了这样一个现象:一张既有内容又漂亮的统计图会让文章增色不少。既如此,就请一起学习进步。下面,言归正传,上硬菜!

##-- 加载R packages ---##

library(survival)

library(rms)

library(pec)

library(plotly)

##---载入示例数据---##

data("lung") #R自带的肺癌数据

lung<-lung[-206,] # 剔除个别缺失值

##-- 建立Cox模型,并预测生存概率---##

##建立Cox模型

Cox <- cph(Surv(time, status) ~ pat.karno + ph.karno, data = lung, surv = T)

t <- c(365,730) #设定随访时间

##预测生存概率

survprob <-****(Cox, newdata = lung, times = t)

##---提取变量,建立新的数据框---##

data<-as.data.frame(cbind(lung$pat.karno, lung$ph.karno, survprob))

names(data)[c(1:4)]<-c("size", "number", "Prob_365", "Prob_730")

## 由于没有肿瘤大小和数量,这里假定"pat.karno"和"ph.karno"对应的是肿瘤大小和数量

img

图 4

##--- 绘制Contour plot---##

p<-plot(********) ##

layout(p, title="2-Year survival probability")

img

图 5

基本完工,上图5便是最终得到的Contour plot。不知道大家还记不记得墨点在前几期介绍的网页版动态列线图(Dynamic nomogram),2.5D contour plot同样也可以上传制作网页。制作网页版2.5D Contour plot的方法很简单,请看右上角的“Publish”。点击Publish,选择Rpubs进入注册;注册完成后,重新点击Publish,填写你要上传的图片信息和图片名称,点击Continue!(https://rpubs.com/hamody/Contourplot)

img

图 6

img

图 7

img

图 8

img

图 9

菜齐了,各位请慢用!如果喜欢,还请点个赞,关注一下吧!尊重数据,助力科研。

最后编辑于 2022-08-24 · 浏览 3384

30 38 22

全部讨论0

默认最新
avatar
30
分享帖子
share-weibo分享到微博
share-weibo分享到微信
认证
返回顶部