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 LongData).

SurvData

a data frame containing the survival data (see SurvData).

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 control_list).

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)



[Package HDJM version 0.1.0 Index]