This function helps the parametrizations of covariates and covariate
coeffcients when users specify a general hazard rate function in function
simEvent
and simEventData
. It applies the specified function
(or the built-in option) FUN
to the \(i_{th}\) row of the covariate
matrix z
and the \(i_{th}\) row of the coefficient matrix,
iteratively, for \(i\) from one to the number of rows of the covariate
matrix z
.
Usage
parametrize(z, zCoef, FUN = c("exponential", "linear", "excess"), ...)
Arguments
- z
A numeric matrix, each row of which represents the covariate vector at one perticular time point.
- zCoef
A numeric matrix, each row of which represents the covariate coeffcient vector at one perticular time point.
- FUN
The parametrization of the model parameter(s) with covariates and covariate coefficients. The built-in options include
"exponential"
,"linear"
,"excess"
for parametrization in the exponential, linear, excess relative risk model form, respectively. It can also be a function that at least has argumentz
andzCoef
for incorporating the covariates and covariate coefficients into the model. The user-specified function should expect that both the inputz
andzCoef
are numeric vectors and return a numeric value (or can be convected to a numeric value byas.numeric
).- ...
Other arguments that can be passed to the function
FUN
.
Examples
## time points
timeVec <- c(0.5, 2)
## time-variant covariates
zMat <- cbind(0.5, ifelse(timeVec > 1, 1, 0))
## time-varying coefficients
zCoefMat <- cbind(sin(timeVec), timeVec)
## the following three ways are equivalent for the exponential form,
## where the first one (using the built-in option) has the best performance
parametrize(zMat, zCoefMat, FUN = "exponential")
#> [1] 1.270884 11.642343
parametrize(zMat, zCoefMat, function(z, zCoef) exp(z %*% zCoef))
#> [1] 1.270884 11.642343
sapply(1 : 2, function(i) as.numeric(exp(zMat[i, ] %*% zCoefMat[i, ])))
#> [1] 1.270884 11.642343