如何在同一图中添加几条校准曲线

时间:2017-02-14 22:15:46

标签: r logistic-regression rms

set.seed(888)
y<-sample(c(0,1), 100, replace = TRUE)
x1<-rnorm(100,2,3)
x2<-rnorm(100,1,4)
library(rms)
f1<-lrm(y~x1,,x=TRUE,y=TRUE)
f2<-lrm(y~x2,,x=TRUE,y=TRUE)
plot(calibrate(f1))
plot(calibrate(f2),add=TRUE)

使用上面的代码,它应该将两个校准图添加到同一图中。但是,它报告了错误:

  

警告讯息:

     

1:在plot.window(...)中:&#34;添加&#34;不是图形参数
  2:在plot.xy(xy,type,...)中:&#34;添加&#34;不是图形参数
  3:轴(侧面=侧面,at = at,标签=标签,......):&#34;添加&#34;不是   图形参数
  4:轴(侧面=侧面,at = at,标签=标签,......):&#34;添加&#34;不是   图形参数
  5:在框中(...):&#34;添加&#34;不是图形参数
  6:在标题(...)中:&#34;添加&#34;不是图形参数

或者还有其他方法用于此目的吗?我也想为x1和x2曲线指定不同的颜色。我不知道如何指定参数par.corrected=list(col="blue")。它不起作用。

  plot(calibrate(f2),par.corrected=list(col="blue",lwd=2))

 #n=100   Mean absolute error=0.061   Mean squared error=0.00541
 #0.9 Quantile of absolute error=0.109

警告讯息:

  

1:在plot.window(...)中:&#34; par.corrected&#34;不是图形参数2:   在plot.xy(xy,type,...)中:&#34; par.corrected&#34;不是图形参数   3:轴(侧面=侧面,at = at,标签=标签,......):
  &#34; par.corrected&#34;不是图形参数4:在轴上(side = side,at =   at,labels = labels,...):&#34; par.corrected&#34;不是图形的   参数5:在框(...)中:&#34; par.corrected&#34;不是图形参数   6:在标题(...)中:&#34; par.corrected&#34;不是图形参数

2 个答案:

答案 0 :(得分:1)

plot.calibrate包中的rms函数未实现add=TRUE,部分原因是显示风险分布的直方图会发生冲突。通过查看代码,您将看到编写自己的绘图功能以制作所需的图表并不困难。

答案 1 :(得分:0)

以下内容使我可以在f1的原始图的顶部绘制f2的偏差校正校准曲线。通过检查由calibrate创建的对象的内容,您可以了解有关绘制其他组件的信息。

set.seed(888)
y<-sample(c(0,1), 100, replace = TRUE)
x1<-rnorm(100,2,3)
x2<-rnorm(100,1,4)
library(rms)
f1<-lrm(y~x1,,x=TRUE,y=TRUE)
f2<-lrm(y~x2,,x=TRUE,y=TRUE)
f1.cal<-calibrate(f1)
f2.cal<-calibrate(f2)
plot(f1.cal)
lines(f2.cal[,"predy"], cal.plot[,"calibrated.corrected"])
相关问题