ggrcs包2.4版本上线: 一个用于绘制直方图+限制立方样条+双坐标轴图的R包

目前本人写的ggrcs包新的2.4版本已经在CRAN上线,
在这里插入图片描述
需要的可以使用代码安装

install.packages("ggrcs")

如果原来安装了1.0版本,可以通过Rstudio进行升级
在这里插入图片描述
在这里插入图片描述
这样就可以升级到最新版本了,新版本修正了一些前期的错误和增加了一些新功能,如绘制双组分类的RCS图形,增加了P值的自动生成,待我一一道来。我们以ggrcs包自带的数据进行演示,先进行常规操作,导入数据和R包

library(rms)
library(ggplot2)
library(scales)
library(ggrcs)
dt<-smoke
dd<-datadist(dt)
options(datadist='dd')
fit<- cph(Surv(time,status==1) ~ rcs(age,4)+gender, x=TRUE, y=TRUE,data=dt)

假设我们想了解年龄和吸烟发病率关系

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

在这里插入图片描述
可以进行一些细节的设置,详细的可以看我上一遍文章《首发:ggrcs包,一个用于绘制直方图+限制立方样条+双坐标轴图的R包》,这里主要讲下新功能

ggrcs(data=dt,fit=fit,x="age",histcol="blue",
      histbinwidth=1,ribcol="green",ribalpha=0.5,xlab ="年龄",
      ylab="吸烟HR",title ="年龄和吸烟概率关系",liftname="概率密度",lift=F)

在这里插入图片描述
生成图后我们可以P.Nonlinear=T给图加上P值,默认是放在左上角

ggrcs(data=dt,fit=fit,x="age",histcol="blue",
      histbinwidth=1,ribcol="green",ribalpha=0.5,xlab ="年龄",
      ylab="吸烟HR",title ="年龄和吸烟概率关系",liftname="概率密度",lift=F,P.Nonlinear=T)

在这里插入图片描述
你也可以通过Pvalue这个设置自定义P值大小

ggrcs(data=dt,fit=fit,x="age",histcol="blue",
      histbinwidth=1,ribcol="green",ribalpha=0.5,xlab ="年龄",
      ylab="吸烟HR",title ="年龄和吸烟概率关系",
      liftname="概率密度",lift=F,P.Nonlinear=T,Pvalue="<0.05")

在这里插入图片描述
生成图片我们还是可以继续修改的,而且对接了ggplot的借口,我们可以通过ggplot方式继续对图片进行修改,假设生成图片后我想在图片中间转折地方加一条竖线

p<-ggrcs(data=dt,fit=fit,x="age",histcol="blue",
         histbinwidth=1,ribcol="green",ribalpha=0.5,xlab ="年龄",
         ylab="吸烟HR",title ="年龄和吸烟概率关系",
         liftname="概率密度",lift=F,P.Nonlinear=T,Pvalue="<0.05")
p+geom_vline(aes(xintercept=45.6),colour="red", linetype=1)

在这里插入图片描述
这样就极大的提高了我们对图片操作的灵活性,后期你想加横线,文字加其他的都是可以的。下面我们来进行双组RCS绘制的操作,也是一行代码搞定

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

在这里插入图片描述
可以通过groupcol这个指标对颜色进行自定义

ggrcs(data=dt,fit=fit,x="age",group="gender",groupcol=c("red","blue"),histbinwidth=1)

在这里插入图片描述
除了双组外,也支持了对左轴名字的更改

ggrcs(data=dt,fit=fit,x="age",group="gender",
      groupcol=c("red","blue"),histbinwidth=1,ribalpha=0.5,xlab ="年龄",
      ylab="吸烟HR",title ="年龄和吸烟概率关系",leftaxislimit=c(0,1),liftname="概率密

在这里插入图片描述
添加P值

ggrcs(data=dt,fit=fit,x="age",group="gender",
      groupcol=c("red","blue"),histbinwidth=1,ribalpha=0.5,xlab ="年龄",
      ylab="吸烟HR",title ="年龄和吸烟概率关系",
      leftaxislimit=c(0,1),liftname="概率密度",P.Nonlinear=T,Pvalue="<0.05")

在这里插入图片描述
这里P值显示的位置我们并不满意,我们可以自行通过坐标,xP.Nonlinear,yP.Nonlinear调整

ggrcs(data=dt,fit=fit,x="age",group="gender",
      groupcol=c("red","blue"),histbinwidth=1,ribalpha=0.5,xlab ="年龄",
      ylab="吸烟HR",title ="年龄和吸烟概率关系",leftaxislimit=c(0,1),liftname="概率密度",
      P.Nonlinear=T,Pvalue="<0.05",xP.Nonlinear=25,yP.Nonlinear=18)

在这里插入图片描述
下面介绍logistic回归模型的使用,使用既往文章《R语言绘制限制立方条图2(基于logistic回归和线性回归)》的例子,不要在意数据的内容,只是举个例子,先导入数据和R包

library(foreign)
be <- read.spss("E:/r/test/Breast cancer survival agec.sav",
                use.value.labels=F, to.data.frame=T)
be <- na.omit(be)
be$ln_yesno<-as.factor(be$ln_yesno)
dd <- datadist(be) #为后续程序设定数据环境
options(datadist='dd') #为后续程序设定数据环境

拟合模型

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

绘图

ggrcs(data=be,fit=fit,x="age",group="ln_yesno",histbinwidth=1)

在这里插入图片描述
更改颜色和对细节自定义

ggrcs(data=be,fit=fit,x="age",group="ln_yesno",histbinwidth=1,groupcol=c("red","blue"),
      xlab ="年龄",
      ylab="吸烟HR",title ="年龄和吸烟概率关系",leftaxislimit=c(0,1),liftname="概率密度",
      P.Nonlinear=T,Pvalue="<0.05",xP.Nonlinear=40,yP.Nonlinear=70)

在这里插入图片描述
细节都差不多,想详细了解请看文章《首发: ggrcs包,一个用于绘制直方图+限制立方样条+双坐标轴图的R包》,如果你对结果不放心,想了解绘图原理,请看文章《R语言ggplot绘制直方图+限制立方样条+双坐标轴图》。
下一个版本将开发增加截点功能,就是类似下图文章中对曲线进行转折点判断,
在这里插入图片描述
然后像图片一样生成转折点两边的HR数据,类似某些文章的阈值效应分析。
开发完这个功能,ggrcs包基本算完成了,如果有什么bug或者还需要有什么值得改进的地方或者需要增加什么功能,欢迎你来告诉我。


版权声明:本文为dege857原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。