Fit the multivariate Zero Inflated Poisson lognormal model with a variational algorithm. Use the (g)lm syntax for model specification (covariates, offsets, subset).
Usage
ZIPLN(
formula,
data,
subset,
zi = c("single", "row", "col"),
control = ZIPLN_param()
)Arguments
- formula
an object of class "formula": a symbolic description of the model to be fitted.
- data
an optional data frame, list or environment (or object coercible by as.data.frame to a data frame) containing the variables in the model. If not found in data, the variables are taken from environment(formula), typically the environment from which the model is called.
- subset
an optional vector specifying a subset of observations to be used in the fitting process.
- zi
a character describing the model used for zero inflation, either of
"single" (default, one parameter shared by all counts)
"col" (one parameter per variable / feature)
"row" (one parameter per sample / individual). If covariates are specified in the formula RHS (see details) this parameter is ignored.
- control
a list-like structure for controlling the optimization, with default generated by
ZIPLN_param(). See the associated documentation for details.
Value
an R6 object with class ZIPLNfit
Details
Covariates for the Zero-Inflation parameter (using a logistic regression model) can be specified in the formula RHS using the pipe
(~ PLN effect | ZI effect) to separate covariates for the PLN part of the model from those for the Zero-Inflation part.
Note that different covariates can be used for each part.
See also
The class ZIPLNfit
Examples
data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
## Use different models for zero-inflation...
myZIPLN_single <- ZIPLN(Abundance ~ 1, data = trichoptera, zi = "single")
#>
#> Initialization...
#> Adjusting a ZI-PLN model with full covariance model and single specific parameter(s) in Zero inflation component.
#> DONE!
if (FALSE) { # \dontrun{
myZIPLN_row <- ZIPLN(Abundance ~ 1, data = trichoptera, zi = "row")
myZIPLN_col <- ZIPLN(Abundance ~ 1, data = trichoptera, zi = "col")
## ...including logistic regression on covariates
myZIPLN_covar <- ZIPLN(Abundance ~ 1 | 1 + Wind, data = trichoptera)
} # }
