R 偏差和分数残差图

R 偏差和分数残差图,r,plot,cox-regression,R,Plot,Cox Regression,我试图绘制偏差图,并在比例风险模型的数据(kidtran)上绘制残差图。 1-我尝试使用以下代码绘制coxph模型的偏差残差图,该图包含协变量(种族、性别和性别与种族之间的相互作用): library(KMsurv) data(kidtran) kidtran ####Deviance Residuals#### fit<-coxph(Surv(time, delta)~race+gender+race*gender, method="breslow", data=kidtran) re

我试图绘制偏差图,并在比例风险模型的数据(kidtran)上绘制残差图。 1-我尝试使用以下代码绘制coxph模型的偏差残差图,该图包含协变量(种族、性别和性别与种族之间的相互作用):

library(KMsurv)
data(kidtran)
kidtran

####Deviance Residuals####
fit<-coxph(Surv(time, delta)~race+gender+race*gender, method="breslow", data=kidtran)
resid.dev<-resid(fit,type="deviance")
par(mfrow = C(1,1))
plot(resid.dev,xlab = "Risk Score", ylab = "Deviance Residual", lwd=1 )
title("Deviance Residual")
resid.dev
abline(h=2.5, col="blue")
abline(h=-2.5, col="blue")

C(1,1)中的错误:对象不能解释为因子

2-我为每个协变量绘制了分数残差图:

##score for interaction
fit<-coxph(Surv(time, delta)~race+gender+race*gender, method="breslow", data=kidtran)
resid.score<-resid(fit,type="score")
par(mfrow = C(1,2))
plot(resid.score)
resid.score
abline(h=2.5, col="blue")
abline(h=-2.5, col="blue")

##score for race
fit1<-coxph(Surv(time, delta)~race, method="breslow", data=kidtran)
resid.score<-resid(fit1,type="score")
par(mfrow = C(1,2))
plot(resid.score)
resid.score
abline(h=2.5, col="blue")
abline(h=-2.5, col="blue")

##score for gender
fit2<-coxph(Surv(time, delta)~gender, method="breslow", data=kidtran)
resid.score<-resid(fit2,type="score")
par(mfrow = C(1,2))
plot(resid.score)
resid.score
abline(h=2.5, col="blue")
abline(h=-2.5, col="blue")

##互动评分

拟合我的猜测是风险分数应该是预测值(如果我没有记错我的统计数据,那么风险比?),在上面的代码中,残差只是一个向量,因此:

##note it's a small c for par
par(mfrow = c(1,1))
plot(predict(fit),resid.dev,xlab = "Risk Score", 
ylab = "Deviance Residual", lwd=1 ,main="Deviance Residual")
abline(h=2.5, col="blue")
abline(h=-2.5, col="blue")

对于第二个绘图,您需要在x轴上绘制观察次数:

fit<-coxph(Surv(time, delta)~race+gender+race*gender, method="breslow",data=kidtran)
resid.score<-resid(fit,type="score")
par(mfrow = c(1,3))
for(i in colnames(resid.score))
plot(1:nrow(resid.score),resid.score[,i],main=i,xlab="obs no")

谢谢您的澄清。如何为最后3个图形绘制线条?尝试在绘图内添加type=“l”like(…type=“l”),如果将点连接起来,则是这样
for(i in colnames(resid.score)){plot(1:nrow(resid.score),resid.score[,i],main=i,xlab=“obs no”,type=“l”)}
因为有时候你的剩余量比预期的低/高,这就是为什么它看起来很奇怪的原因
fit<-coxph(Surv(time, delta)~race+gender+race*gender, method="breslow",data=kidtran)
resid.score<-resid(fit,type="score")
par(mfrow = c(1,3))
for(i in colnames(resid.score))
plot(1:nrow(resid.score),resid.score[,i],main=i,xlab="obs no")