if (FALSE) {
# Note: In the following examples, M1, M2, and M3 are true mediators.
# Example 1 (continuous outcome - linear HIMA):
data(ContinuousOutcome)
pheno_data <- ContinuousOutcome$PhenoData
mediator_data <- ContinuousOutcome$Mediator
e1 <- hima(Outcome ~ Treatment + Sex + Age,
data.pheno = pheno_data,
data.M = mediator_data,
mediator.type = "gaussian",
penalty = "MCP", # Can be "DBlasso" for hima_dblasso
scale = FALSE, # Disabled only for simulation data
verbose = TRUE
)
summary(e1)
# Efficient HIMA (only applicable to mediators and outcomes that are
# both continuous and normally distributed.)
e1e <- hima(Outcome ~ Treatment + Sex + Age,
data.pheno = pheno_data,
data.M = mediator_data,
mediator.type = "gaussian",
efficient = TRUE,
penalty = "MCP", # Efficient HIMA does not support DBlasso
scale = FALSE, # Disabled only for simulation data
verbose = TRUE
)
summary(e1e)
# Example 2 (binary outcome - logistic HIMA):
data(BinaryOutcome)
pheno_data <- BinaryOutcome$PhenoData
mediator_data <- BinaryOutcome$Mediator
e2 <- hima(Disease ~ Treatment + Sex + Age,
data.pheno = pheno_data,
data.M = mediator_data,
mediator.type = "gaussian",
penalty = "MCP",
scale = FALSE, # Disabled only for simulation data
verbose = TRUE
)
summary(e2)
# Example 3 (time-to-event outcome - survival HIMA):
data(SurvivalData)
pheno_data <- SurvivalData$PhenoData
mediator_data <- SurvivalData$Mediator
e3 <- hima(Surv(Time, Status) ~ Treatment + Sex + Age,
data.pheno = pheno_data,
data.M = mediator_data,
mediator.type = "gaussian",
penalty = "DBlasso",
scale = FALSE, # Disabled only for simulation data
verbose = TRUE
) # Parallel computing feature is recommended
summary(e3)
# Longitudinal mediator + survival HIMA:
data(SurvivalLongData)
pheno_data <- SurvivalLongData$PhenoData
mediator_data <- SurvivalLongData$Mediator
e3long <- hima(Surv(Tstart, Tstop, Status) ~ Treatment + Sex + Age,
data.pheno = pheno_data,
data.M = mediator_data,
mediator.type = "gaussian",
penalty = "lasso",
longitudinal = TRUE,
id.var = "ID",
scale = FALSE, # Disabled only for simulation data
verbose = TRUE
) # Parallel computing feature is recommended
summary(e3long)
# Example 4 (compositional data as mediator, e.g., microbiome):
data(MicrobiomeData)
pheno_data <- MicrobiomeData$PhenoData
mediator_data <- MicrobiomeData$Mediator
e4 <- hima(Outcome ~ Treatment + Sex + Age,
data.pheno = pheno_data,
data.M = mediator_data,
mediator.type = "compositional",
penalty = "DBlasso",
verbose = TRUE
) # Scaling is always enabled internally for hima_microbiome
summary(e4)
#' # Example 5 (quantile mediation analysis - quantile HIMA):
data(QuantileData)
pheno_data <- QuantileData$PhenoData
mediator_data <- QuantileData$Mediator
# Note that the function will prompt input for quantile level.
e5 <- hima(Outcome ~ Treatment + Sex + Age,
data.pheno = pheno_data,
data.M = mediator_data,
mediator.type = "gaussian",
quantile = TRUE,
penalty = "MCP", # Quantile HIMA does not support DBlasso
scale = FALSE, # Disabled only for simulation data
tau = c(0.3, 0.5, 0.7),
verbose = TRUE
) # Specify multiple quantile level
summary(e5)
}
Run the code above in your browser using DataLab