Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

mgPLS

Multigroup Partial Least Squares Regression


Description

Multigroup PLS regression

Usage

mgPLS(
  DataX,
  DataY,
  Group,
  ncomp = NULL,
  Scale = FALSE,
  Gcenter = FALSE,
  Gscale = FALSE
)

Arguments

DataX

a numeric matrix or data frame associated with independent dataset

DataY

a numeric matrix or data frame associated with dependent dataset

Group

a vector of factors associated with group structure

ncomp

number of components, if NULL number of components is equal to 2

Scale

scaling variables, by defalt is FALSE. By default data are centered within groups

Gcenter

global variables centering, by defalt is FALSE.

Gscale

global variables scaling, by defalt is FALSE.

Value

list with the following results:

DataXm

Group X data

DataYm

Group Y data

Concat.X

Concatenated X data

Concat.Y

Concatenated Y data

coefficients

Coefficients associated with X data

coefficients.Y

Coefficients associated with regressing Y on Global components X

Components.Global

Conctenated Components for X and Y

Components.Group

Components associated with groups in X and Y

loadings.common

Common vector of loadings for X and Y

loadings.Group

Group vector of loadings for X and Y

expvar

Explained variance associated with global components X

cum.expvar.Group

Cumulative explained varaince in groups of X and Y

Similarity.Common.Group.load

Cumulative similarity between group and common loadings

Similarity.noncum.Common.Group.load

NonCumulative similarity between group and common loadings

References

A. Eslami, E. M. Qannari, A. Kohler and S. Bougeard (2013). Multi-group PLS regressMathematics and Statistics, Springer Proceedings (ed), New Perspectives in Partial Least Squares and Related Methods, 56, 243-255.

A. Eslami, E. M. Qannari, A. Kohler and S. Bougeard (2014). Algorithms for multi-group PLS. Journal of Chemometrics, 28(3), 192-201.

See Also

Examples

data(oliveoil)
DataX = oliveoil[,2:6]
DataY = oliveoil[,7:12]
Group = as.factor(oliveoil[,1])
res.mgPLS = mgPLS (DataX, DataY, Group)
barplot(res.mgPLS$noncumper.inertiglobal)
#----- Regression coefficients 
#res.mgPLS$coefficients[[2]]
#----- Similarity index: group loadings are compared to the common structure (in  X and Y spaces)
XX1= res.mgPLS$Similarity.noncum.Common.Group.load$X[[1]][-1, 1, drop=FALSE]
XX2=res.mgPLS$Similarity.noncum.Common.Group.load$X[[2]][-1, 1, drop=FALSE]
simX <- cbind(XX1, XX2)
YY1=res.mgPLS$Similarity.noncum.Common.Group.load$Y[[1]][-1, 1, drop=FALSE]
YY2=res.mgPLS$Similarity.noncum.Common.Group.load$Y[[2]][-1, 1, drop=FALSE]
simY <- cbind(YY1,YY2)
XLAB = paste("Dim1, %",res.mgPLS$noncumper.inertiglobal[1])
YLAB = paste("Dim1, %",res.mgPLS$noncumper.inertiglobal[2])
plot(simX[, 1], simX[, 2], pch=15, xlim=c(0, 1), ylim=c(0, 1),
                            main="Similarity indices in X space",
                            xlab=XLAB, ylab=YLAB)
abline(h=seq(0, 1, by=0.2), col="black", lty=3)
text(simX[, 1], simX[, 2], labels=rownames(simX), pos=2)
plot(simY[, 1], simY[, 2], pch=15, xlim=c(0, 1), ylim=c(0, 1), 
                             main="Similarity indices in Y space",
                                       xlab=XLAB, ylab=YLAB)
abline(h=seq(0, 1, by=0.2), col="black", lty=3)
text(simY[, 1], simY[, 2], labels=rownames(simY), pos=2)

multigroup

Multigroup Data Analysis

v0.4.5
GPL-3
Authors
Aida Eslami, El Mostafa Qannari, Stephanie Bougeard, Gaston Sanchez Questions and comments go to Aida Eslami <aida.eslami@yahoo.fr> and Stephanie Bougeard <stephanie.bougeard@anses.fr>
Initial release
2020-02-10

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.