我有关于桥梁生存能力的数据:https://pastebin.com/1ryj68Bd 我是R和生存分析的新手,所以这可能听起来很基本,但我创建了一个Weibull AFT模型。我想使用模型预测一组特定变量值的生存概率。我怎么做?为了给你一些上下文,这里是代码:
weibul1=survival::survreg(survival::Surv(weibul$TIS,weibul$Survival) ~ weibul$ADT + weibul$NumberOfFreezeThawCycles + weibul$ADTT + weibul$NumberOfSnowfalls + weibul$Skew, weights = weibul$Quantity, data = weibul[weibul$Age > 0,], dist = "weibull")
summary(weibul1)
#plotting Weibull AFT; Gamma = 1/weibul1$Scale -- survreg gives log sigma and not sigma as output; Intercept = 1/weibul1$coefficients[1]
plot(weibul$Age,1-pweibull(weibul$Age,1/(weibul1$scale),exp(weibul1$coefficients[1])),xlab = 'Age', ylab='Survival Probability')
我想做的是给出ADT,ADTT,Age等的值,找到生存概率。我正在使用R中的survival
包。所以,我使用predict
使用以下代码:
covariates = list(Age = 26.68, ADT=5267, ADTT=763.37, NumberOfSnowfalls=14.88 , NumberOfFreezeThawCycles=56.34, Skew = 13.39)
predict(weibul1, newdata=covariates, type="quantile", p=(1:98)/100)
plot(predict(weibul1, newdata=covariates,type="quantile",p=seq(.01,.99,by=.01)),seq(.99,.01,by=-.01),col="green")
但是,现在我看到一个错误:xy.coords(x,y,xlabel,ylabel,log)出错: ' X'并且' y'长度不同
任何想法/建议都表示赞赏。
答案 0 :(得分:0)
问题是x和y的长度不同。
尝试
length(predict(weibul1, newdata=covariates, type="quantile", p=(1:1208)/100))
和
length((1:1208)/100)
他们应该是一样的。另外,你确定x和y是正确的吗?也许你反过来想要它们呢?