Rでsurvivまたはflexsurvregの予測生存プロットを作成しようとしていますが、survivで複数の予測変数を使用するとプロットの誤差が生じます。私はflexsurvregまたはsurvregを使用してそれを試してみたいと思います。肺のデータセットについては、モデルに合わせて次のコードを使用しました。R-パラメトリック法で予測される生存曲線
require(survival)
s <- with(lung,Surv(time,status))
sWei <- survreg(s ~ as.factor(sex)+age+ph.ecog+wt.loss+ph.karno,dist='weibull',data=lung)
fitKM <- survfit(s ~ sex,data=lung)
plot(fitKM)
lines(predict(sWei, newdata=list(sex=1),type="quantile",p=seq(.01,.99,by=.01)),seq(.99,.01,by=-.01),col="blue")
lines(predict(sWei, newdata=list(sex=2),type="quantile",p=seq(.01,.99,by=.01)),seq(.99,.01,by=-.01),col="red")
上記のコマンドをプロットするときにエラーが発生します。予期された生存曲線をプロットするときに私がどこに間違っているかを教えてください。
> lines(predict(sWei, newdata=list(sex=1),type="quantile",p=seq(.01,.99,by=.01)),seq(.99,.01,by=-.01),col="red")
Error in eval(expr, envir, enclos) : object 'age' not found
あなたは、モデル内の多くの変数を使用しています。 'newdata'を作成するときは、モデル内のすべての変数の値を作成する必要があります。 –
ローマに感謝します。私のモデルでは、多くの変数を使用する必要があります。多くの変数を調整した後に生存曲線を作成する別の方法があります。 – NiroshaR