predict_lucid: Predict cluster assignment and outcome based on LUCID model

View source: R/predict_lucid_all.R

predict_lucidR Documentation

Predict cluster assignment and outcome based on LUCID model

Description

Predict cluster assignment and outcome based on LUCID model

Usage

predict_lucid(
  model,
  lucid_model = c("early", "parallel", "serial"),
  G,
  Z,
  Y = NULL,
  CoG = NULL,
  CoY = NULL,
  response = TRUE,
  verbose = FALSE
)

Arguments

model

A model fitted and returned by estimate_lucid

lucid_model

Specifying LUCID model, "early" for early integration, "parallel" for lucid in parallel "serial" for lucid in serial.

G

Exposures, a numeric vector, matrix, or data frame. Categorical variable should be transformed into dummy variables. If a matrix or data frame, rows represent observations and columns correspond to variables.

Z

Omics data, if "early", an N by M matrix; If "parallel", a list, each element i is a matrix with N rows and P_i features; If "serial", a list, each element i is a matrix with N rows and p_i features or a list with two or more matrices with N rows and a certain number of features

Y

Outcome, a numeric vector. Categorical variable is not allowed. Binary outcome should be coded as 0 and 1.

CoG

Optional, covariates to be adjusted for estimating the latent cluster. A numeric vector, matrix or data frame. Categorical variable should be transformed into dummy variables.

CoY

Optional, covariates to be adjusted for estimating the association between latent cluster and the outcome. A numeric vector, matrix or data frame. Categorical variable should be transformed into dummy variables.

response

If TRUE, when predicting binary outcome, the response will be returned. If FALSE, the linear predictor is returned.

verbose

A flag indicates whether detailed information is printed in console. Default is FALSE.

Value

A list containing the following components:

  1. inclusion.p: A list of inclusion probabilities for each sub-model in the LUCID model.

  2. pred.x: A list of predicted values for the data matrix G.

  3. pred.y: Predicted values for the response variable Y (if response is TRUE).

Examples

# prepare data
G <- sim_data$G
Z <- sim_data$Z
Y_normal <- sim_data$Y_normal

# fit lucid model
fit1 <- estimate_lucid(G = G, Z = Z, Y = Y_normal, lucid_model = "early", K = 2, family = "normal")

# prediction on training set
pred1 <- predict_lucid(model = fit1, G = G, Z = Z, Y = Y_normal, lucid_model = "early")
pred2 <- predict_lucid(model = fit1, G = G, Z = Z, lucid_model = "early")


LUCIDus documentation built on Nov. 2, 2023, 5:21 p.m.