TABLE OF CONTENTS
ZZdebug/makemrs [ Functions ]
NAME
makemrs --- terms for profile likelihood
FUNCTION
Compute terms needed in the profile likelihood and gradient. This is an R implementation of the FORTRAN routine fmkmrs, used for debugging only.
SYNOPSIS
1479 makemrs <- function(m, Ji, datamat, as, betahat, Uijmat)
INPUTS
m number of clusters
Ji cluster sizes
datamat data matrix generated by makedatamat
as matrix of discretization breakpoints
betahat regression coefficient estimates
Uijmat matrix of frailty estimates
OUTPUTS
mrs matrix of terms needed by the profile likelihood
mrsgr array of terms needed by the profile gradient
SOURCE
1482 { 1483 # Initialize matrices 1484 mrs <- matrix(0, dim(as)[1], dim(as)[2] - 1) 1485 mrsgr <- array(0, c(dim(as)[1], dim(as)[2] - 1, length(betahat))) 1486 covs <- as.matrix(datamat[, -c(1:8)], dim(datamat)[1], length(betahat)) 1487 # Loop through the data matrix 1488 for(ind in 1:dim(datamat)[1]) 1489 { 1490 i <- datamat[ind, "i"] 1491 j <- datamat[ind, "j"] 1492 k <- datamat[ind, "k"] 1493 smax <- datamat[ind, "smax"] 1494 smin <- datamat[ind, "smin"] 1495 r <- datamat[ind, "r"] 1496 time <- datamat[ind, "time"] 1497 for(s in smin:smax){ 1498 # At each entry in the data matrix, add the term to the 1499 # appropriate component of the output matrices 1500 pred <- Uijmat[i, j] * exp(as.matrix(betahat)%*%covs[ind, ]) * 1501 A(time, as, r, s) 1502 mrs[r, s] <- mrs[r, s] + pred 1503 mrsgr[r, s, ] <- mrsgr[r, s, ] + covs[ind, ] * pred 1504 } 1505 } 1506 # Format for output 1507 return(list(mrs = mrs, mrsgr = mrsgr)) 1508 }