假设我有一个像肾脏数据一样的生命数据集。有一些协变量年龄,性别,疾病。性别有2类(F,M),疾病有4类(其他,GN,AN,PKD)。我想估计Cox比例风险模型的参数。年龄,性别,GN,AN,PKD有5个参数。我这样想。我怎样才能最大化这个功能?
library(survival)
dat <- kidney
head(kidney)
# id time status age sex disease frail
# 1 1 8 1 28 1 Other 2.3
# 2 1 16 1 28 1 Other 2.3
# 3 2 23 1 48 2 GN 1.9
# 4 2 13 0 48 2 GN 1.9
# 5 3 22 1 32 1 Other 1.2
# 6 3 28 1 32 1 Other 1.2
......................................
logPL <- function( par, time, status, cov ){
data <- data.frame( time, status, cov)
data <- data[order(data$time, decreasing=T),]
risk.score <- data.matrix(data[,-c(1:2)]) %*% par
PL1 <- risk.set
PL2 <- log(cumsum(exp(risk.set)))
PL <- sum(data$status*(PL1-PL2))
return(-PL)}