| Title: | Regression for Compositional Data with Zero Values |
|---|---|
| Description: | A multivariate zero inflated logistic normal regression model is implemented for compositional data with zero values present. The relevant paper is Li Z., Lee K., Karagas M. R., Madan J. C., Hoen A. G., O'Malley A. J. and Li H. (2018). "Conditional regression based on a multivariate zero-inflated logistic-normal model for microbiome relative abundance data", <doi:10.1007/s12561-018-9219-2>. |
| Authors: | Michail Tsagris [aut, cre] |
| Maintainer: | Michail Tsagris <[email protected]> |
| License: | GPL (>= 2) |
| Version: | 1.0 |
| Built: | 2026-09-29 12:48:53 UTC |
| Source: | https://github.com/cran/mziln |
A multivariate zero inflated logistic normal regression model is implemented for compositional data with zero values present.
| Package: | mziln |
| Type: | Package |
| Version: | 1.0 |
| Date: | 2026-08-21 |
Michail Tsagris <[email protected]>.
Michail Tsagris [email protected]
Li Z., Lee K., Karagas M. R., Madan J. C., Hoen A. G., O'Malley A. J. and Li H. (2018). Conditional regression based on a multivariate zero-inflated logistic-normal model for microbiome relative abundance data. Statistics in Biosciences, 10(3): 587–608.
Bootstrap for the MZILN regression model.
boot.mziln(y, x, R = 1000)boot.mziln(y, x, R = 1000)
y |
A matrix with the compositional data (dependent variable). The number of observations (vectors) with no zero values should be more than the columns of the predictor variables. Otherwise, the initial values will not be calculated. |
x |
The predictor variable(s), they can be either continnuous or categorical or both. |
R |
The number of bootstrap resamples to perform. |
The multivariate zero inflated logistic normal regression is being fitted. The likelihood conists of two components. The contributions of the non zero compositional values and the contributions of the compositional vectors with at least one zero value. The second component may have many different sub-categories, one for each pattern of zeros.
A list including:
be |
The bootstrapped beta coefficients. |
sigma |
The bootstrap estimate of the covariance matrix of the regression parameters. |
Michail Tsagris.
R implementation and documentation: Michail Tsagris [email protected].
Li Z., Lee K., Karagas M. R., Madan J. C., Hoen A. G., O'Malley A. J. and Li H. (2018). Conditional regression based on a multivariate zero-inflated logistic-normal model for microbiome relative abundance data. Statistics in Biosciences, 10(3): 587–608.
x <- as.vector(iris[, 4]) y <- as.matrix(iris[, 1:3]) y <- y / rowSums(y) ind <- sample(150, 10) for ( k in ind ) y[k, sample(3, 1)] <- 0 y <- y / rowSums(y) mod <- boot.mziln(y, x, R = 100)x <- as.vector(iris[, 4]) y <- as.matrix(iris[, 1:3]) y <- y / rowSums(y) ind <- sample(150, 10) for ( k in ind ) y[k, sample(3, 1)] <- 0 y <- y / rowSums(y) mod <- boot.mziln(y, x, R = 100)
Multivariate zero inflated logistic normal regression.
mziln(y, x, xnew = NULL)mziln(y, x, xnew = NULL)
y |
A matrix with the compositional data (dependent variable) with zero values present. |
x |
The predictor variable(s), they can be either continnuous or categorical or both. |
xnew |
If you have new data use it, otherwise leave it NULL. |
The conditional logistic normal regression is being fitted. The likelihood conists of two components. The contributions of the non zero compositional values and the contributions of the compositional vectors with at least one zero value. The second component may have many different sub-categories, one for each pattern of zeros.
A list including:
be |
The beta coefficients. |
est |
The fitted or the predicted values (if xnew is not NULL). |
Michail Tsagris.
R implementation and documentation: Michail Tsagris [email protected].
Li Z., Lee K., Karagas M. R., Madan J. C., Hoen A. G., O'Malley A. J. and Li H. (2018). Conditional regression based on a multivariate zero-inflated logistic-normal model for microbiome relative abundance data. Statistics in Biosciences, 10(3): 587–608.
x <- as.vector(iris[, 4]) y <- as.matrix(iris[, 1:3]) y <- y / rowSums(y) ind <- sample(150, 10) for ( k in ind ) y[k, sample(3, 1)] <- 0 y <- y / rowSums(y) mod <- mziln(y, x)x <- as.vector(iris[, 4]) y <- as.matrix(iris[, 1:3]) y <- y / rowSums(y) ind <- sample(150, 10) for ( k in ind ) y[k, sample(3, 1)] <- 0 y <- y / rowSums(y) mod <- mziln(y, x)