R/scorevector.R

scorevector <- function(beta, X, risksetlist, event){
  n <- length(event)
  f <- as.numeric(X %*% beta)
  ef <- exp(f)
  p <- length(beta)
  riskmatrix <- matrix(nrow = n, ncol = p, 0)
  for (i in 1:n){
    riskset <- risksetlist[[i]]
    ef.riskset <- ef[riskset]
    currentrisk <- sum(ef.riskset)
    X.i <- X[riskset, ]/currentrisk
    riskmatrix[i, ] <- t(ef.riskset) %*% X.i
    }
  scorevector <- as.numeric(event %*% (X - riskmatrix))
  return(scorevector)}

Try the penMSM package in your browser

Any scripts or data that you put into this service are public.

penMSM documentation built on May 2, 2019, 11:06 a.m.