मान लीजिए कि मेरे पास "किडनी कैथेटर" डेटा सेट है। मैं कॉक्स मॉडल का उपयोग करके उत्तरजीविता वक्र बनाने की कोशिश कर रहा हूं। अगर मैं एक कॉक्स मॉडल पर विचार करें: मैं आधारभूत खतरा के अनुमान की जरूरत है। अंतर्निहित पैकेज आर फ़ंक्शन का उपयोग करके , मैं इसे आसानी से इस तरह कर सकता हूं:
survival
basehaz()
library(survival)
data(kidney)
fit <- coxph(Surv(time, status) ~ age , kidney)
basehaz(fit)
लेकिन अगर मैं पैरामीटर के दिए गए अनुमान के लिए बेसलाइन खतरे के चरणबद्ध तरीके से एक कदम लिखना चाहता हूं तो मैं b
कैसे आगे बढ़ सकता हूं? मैंने कोशिश की:
bhaz <- function(beta, time, status, x) {
data <- data.frame(time,status,x)
data <- data[order(data$time), ]
dt <- data$time
k <- length(dt)
risk <- exp(data.matrix(data[,-c(1:2)]) %*% beta)
h <- rep(0,k)
for(i in 1:k) {
h[i] <- data$status[data$time==dt[i]] / sum(risk[data$time>=dt[i]])
}
return(data.frame(h, dt))
}
h0 <- bhaz(fit$coef, kidney$time, kidney$status, kidney$age)
लेकिन यह वैसा परिणाम नहीं देता जैसा कि दिया गया है basehaz(fit)
। समस्या क्या है?