我有50个由鼠标创建的多重插补数据集,我正在每个上面运行一个Cox模型。我需要随着时间的推移验证比例风险的假设,为此,我将检查cox.zph中的图。
我想要做的是在同一个图上绘制来自每个数据集的样条线。我知道这通常会在调用lines()
之后使用plot
来完成,但是当我使用我的zph对象执行此操作时,R会连接每个点,这显然不是我想要的。
我试图绘制一次,然后在循环中绘制它。个人zph只是我所有考克斯分析的列表
plot(individual_zph[[1]][1],resid=FALSE,ylim=c(-1.5,1),se=FALSE)
for(i in 2:50){
par(new=TRUE)
plot(individual_zph[[i]][1],resid=FALSE,ylim=c(-1.5,1),se=FALSE)
}
这将把它全部放在一个情节上,但它是模糊的/粗体的,因为同样的事情被画了很多次。
有没有更好的方法来做到这一点,还是这个情节是我能得到的最好的?
答案 0 :(得分:0)
在你的情节中添加一些alpha。你没有提供一个可重复的例子,所以我不得不提出自己的例子。非窗户环境中的情节看起来更好
a=0.3
b=1.6
g=0.8
curve(5+(a*x)+(b*(x^2))-(g*(x^3)), from=-100, to=100, col=rgb(0, 0, 139,alpha = 40, maxColorValue = 255 ))
for (i in 1:200){
a=runif(n = 1, min=0.1, max=0.8)
b=runif(n = 1, min=1, max=2.5)
g=runif(n = 1, min=0.65, max=1.4)
curve(5+(a*x)+(b*(x^2))-(g*(x^3)), from=-100, to=100, add = T, col=rgb(0, 0, 139,alpha = 40 , maxColorValue = 255))
}