为RCS曲线添加不同图例

先祝大家新年快乐,新的一年蒸蒸日上,心想事成。近日有粉丝和我说投稿返修,编辑要求要对RCS曲线的可信区间进行标注,即需要把RCS改成下图的形式,
为RCS曲线添加不同图例_第1张图片
下面我们通过R语言来演示一下

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

为RCS曲线添加不同图例_第2张图片
这里我们使用我们原来的臭氧的数据,主要描述的是臭氧浓度和大气一些相关指标的情况(公众号回复:臭氧,可以获得数据),数据中有七个变量,ozon每日臭氧水平为结局变量,Inversion base height(ibh)反转基准高度,Pressure gradient (mm Hg) 压力梯度(mm Hg),Visibility (miles) 能见度(英里),Temperature (degrees F) 温度(华氏度),Day of the year日期,vh我也不知道是什么,反正就是一参数,这里所有的变量都是连续的。

对数据进行整理

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

建立模型

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

生成预测值
OR<-Predict(fit, ibh)
我们先对线条颜色和线型进行一个设定

line=c('95%cilower'=2,'Estimation'=1,'95%ciupper'=2)
cols=c('95%cilower'="black", 'Estimation'="black", '95%ciupper'="black")

绘图

ggplot(OR)+
  geom_line(data=OR, aes(ibh,yhat,colour = 'Estimation', linetype = "Estimation"),size=1)+
  geom_line(data=OR, aes(ibh,lower,colour = '95%cilower', linetype = "95%cilower"),size=1)+
  geom_line(data=OR, aes(ibh,upper,colour = '95%ciupper', linetype = "95%ciupper"),size=1)+
  scale_linetype_manual(name="线条说明",values = line)+
  scale_colour_manual(name="线条说明",values=cols)+
  theme_classic()+
  theme(legend.position = c(.8,.8),
        legend.key.width = unit(2,"cm"),panel.grid.major = element_blank(), panel.grid.minor = element_blank())

为RCS曲线添加不同图例_第3张图片
这样图就绘制好了,当然也可以通过AI这种修图软件改图。

你可能感兴趣的:(R语言,r语言,开发语言)