HDJM_fit {HDJM} | R Documentation |
The function to fit penalized HDJM.
Description
The function is used to fit the penalized HDJM with adpative lasso penalty.
Usage
HDJM_fit(
LongData = NULL,
SurvData = NULL,
marker.name = NULL,
control_list = NULL,
nlam = 50,
ridge = 0,
pmax = 10,
min_ratio = 0.01,
maxiter = 100,
eps = 1e-04,
UseSurvN = FALSE
)
Arguments
LongData |
a data frame containing the longitudinal data
(see |
SurvData |
a data frame containing the survival data
(see |
marker.name |
a vector indicating which set of longitudinal biomarkers to be analyzed. If NULL, all biomarkers in LongData will be used. |
control_list |
a list of parameters specifying the joint model
(see |
nlam |
number of tuning parameters. |
ridge |
ridge penalty. |
pmax |
the maximum of biomarkers being selected. The algorithm will stop early if the maximum has been reached. |
min_ratio |
the ratio between the largest possible penalty and the smallest penalty to tune. |
maxiter |
the maximum number of iterations. |
eps |
threshold for convergence. |
UseSurvN |
a logical variable indicating whether the effective sample size (i.e., the number of events) should be used in calculating BIC. |
Value
return a list with the following objects.
marker.name |
the names for biomarkers being analyzed. |
alpha |
the estimates for the effects of biomarkers in the survival submodel. |
weib |
the estimates for the Weibull baseline hazard in the survival submodel. |
gamma |
the estimates for the effects of baseline covariates in the survival submodel. |
beta |
the estimates for the fixed-effects in the longitudinal submodel. |
sig2 |
the estimates for the noise variances in the longitudinal submodel. |
Sigma |
the estimates for the covariance matrices of the random effects in the longitudinal submodel. |
References
Jiehuan Sun and Sanjib Basu. "Penalized Joint Models of High-Dimensional Longitudinal Biomarkers and A Survival Outcome".
Examples
data(HDJMdata)
flex_time_fun <- function(x=NULL){
xx = matrix(x, ncol = 1)
colnames(xx) = c("year_l")
xx
}
ran_time_ind = 1 ## random time-trend effects
control_list = list(
ID_name = "ID", item_name = "item",
value_name = "value", time_name = "years",
fix_cov = NULL, random_cov = NULL,
FUN = flex_time_fun, ran_time_ind=ran_time_ind,
surv_time_name = "ftime", surv_status_name = "fstat",
surv_cov = "x", n_points = 5
)
## takes about one minute.
res = HDJM_fit(LongData=LongData, SurvData=SurvData,
control_list=control_list)