plspm {plspm} | R Documentation |
Estimate path models with latent variables by partial least squares approach
plspm(x, inner.mat, sets, modes = NULL, scheme = "centroid", scaled = TRUE, boot.val = FALSE, plsr = FALSE)
x |
A numeric matrix or data frame containing the manifest variables. |
inner.mat |
A square (lower triangular) boolean matrix indicating the path relationships betwenn latent variables. |
sets |
List of vectors with column indices from x indicating which manifest variables correspond to the latent variables. |
modes |
A character vector indicating the type of measurement for each latent variable.
"A" for reflective measurement or "B" for formative measurement (NULL by default). |
scheme |
A string of characters indicating the type of inner weighting scheme. Possible values are "centroid" , "factor" and "path" . |
scaled |
A logical value indicating whether scaling data is performed (TRUE by default). |
boot.val |
A logical value indicating whether bootstrap validation is performed (FALSE by default) |
plsr |
A logical value indicating whether pls regression is applied (FALSE by default) |
The function plspm
estimates a path model with latent variables by partial least squares approach.
The argument inner.mat
is a matrix of zeros and ones that indicates the structural relationships between latent variables. This must be a lower triangular matrix. inner.mat
will contain a 1 when column j
affects row i
, 0 otherwise.
The argument sets
is a list of vectors of indices indicating the sets of manifest variables associated to the latent variables. The length of sets
must be equal to the number of rows of inner.mat
.
The argument modes
is a character vector indicating the type of measurement for each latent variable. A value of "A"
is used when a latent variable has reflective manifest variables, and a value of "B"
is used when the latent variable has formative manifest variables. The length of modes
must be equal to the number of rows of inner.mat
(i.e. equal to the length of sets
).
The argument scaled
is TRUE
by default. This means that data in x
is scaled to standardized values (mean=0, variance=1). Unless the data has the same scale for all variables, it is strongly recommended to keep this argument unchanged.
When bootstrap validation is performed, the number of re-samples is 200.
The argument plsr
gives the option to calculate the inner model relationships by means of pls regression.
An object of class "plspm"
, basically a list with the following elements:
unidim |
Results for checking the unidimensionality of blocks (These results are only meaningful for reflective blocks). |
outer.mod |
Results of the outer (measurement) model. Includes: outer weights, standardized loadings, communalities, and redundancies. |
inner.mod |
Results of the inner (structural) model. Includes: path coefficients and R-squared for each endogenous latent variable. |
latents |
Matrix of standardized latent variables (variance=1). |
scores |
Matrix of re-scaled latent variables. If scaled=FALSE then scores are the standardized latent variables expressed in the same scale of the manifest variables. If scaled=TRUE then scores are equal to latents |
out.weights |
Vector of outer weights. |
loadings |
Vector of standardized loadings (i.e. correlations with LVs.) |
path.coefs |
Matrix of path coefficients (this matrix has a similar form as inner.mat ). |
r.sqr |
Vector of R-squared coefficients. |
outer.cor |
Correlations between the latent variables and the manifest variables (also called crossloadings). |
inner.sum |
Summarized results by latent variable of the inner model. Includes: type of LV, type of measurement, number of indicators, R-squared, average communality, average redundancy, and average variance extracted |
gof |
Table with indexes of Goodness-of-Fit. Includes: absolute GoF, relative GoF, outer model GoF, and inner model GoF. |
effects |
Path effects of the structural relationships. Includes: direct, indirect, and total effects. |
boot |
List of bootstrapping results; only available when argument boot.val=TRUE . |
Gaston Sanchez http://www.docstoc.com/profile/gasigiri
Tenenhaus, M., Esposito Vinzi, V., Chatelin Y.M., and Lauro, C. (2005) PLS path modeling. Computational Statistics & Data Analysis, 48, pp. 159-205.
Tenenhaus, M., and Pages, J. (2001) Multiple factor analysis combined with PLS path modelling. Application to the analysis of relationships between physicochemical variables, sensory profiles and hedonic judgements. Chemometrics and Intelligent Laboratory Systems, 58, pp. 261-273.
Tenenhaus, M., and Hanafi, M. A bridge between PLS path modeling and multi-block data analysis. Handbook on Partial Least Squares (PLS): Concepts, methods, and applications. Springer: In press.
Lohmoller, J.-B. (1989) Latent variables path modelin with partial least squares. Heidelberg: Physica-Verlag.
Wold, H. (1985) Partial Least Squares. In: Kotz, S., Johnson, N.L. (Eds.), Encyclopedia of Statistical Sciences, Vol. 6. Wiley, New York, pp. 581-591.
Wold, H. (1982) Soft modeling: the basic design and some extensions. In: K.G. Joreskog & H. Wold (Eds.), Systems under indirect observations: Causality, structure, prediction, Part 2, pp. 1-54. Amsterdam: Holland.
## Not run: ## example of PLS-PM in ecological analysis ## model with three LVs and formative indicators data(arizona) ari.mat <- matrix(c(0,0,0,0,0,0,1,1,0),3,3,byrow=TRUE) dimnames(ari.mat) <- list(c("ENV","SOIL","DIV"),c("ENV","SOIL","DIV")) ari.sets <- list(c(1,2),c(3,4,5),c(6,7,8)) ari.mod <- c("B","B","B") ## formative indicators res1 <- plspm(arizona, inner.mat=ari.mat, sets=ari.sets, modes=ari.mod, scheme="factor", scaled=TRUE, plsr=TRUE) res1 summary(res1) ## typical example of PLS-PM in customer satisfaction analysis ## model with six LVs and reflective indicators data(satisfaction) IMAG <- c(0,0,0,0,0,0) EXPE <- c(1,0,0,0,0,0) QUAL <- c(1,1,0,0,0,0) VAL <- c(0,1,1,0,0,0) SAT <- c(1,1,1,1,0,0) LOY <- c(1,0,0,0,1,0) sat.mat <- rbind(IMAG, EXPE, QUAL, VAL, SAT, LOY) sat.sets <- list(1:5,6:10,11:15,16:19,20:23,24:27) sat.mod <- rep("A",6) ## reflective indicators res2 <- plspm(satisfaction, sat.mat, sat.sets, sat.mod, scheme="centroid", scaled=FALSE) summary(res2) ## example of PLS-PM in sensory analysis ## estimate a path model for the orange juice data data(orange) senso.mat <- matrix(c(0,0,0,1,0,0,1,1,0),3,3,byrow=TRUE) dimnames(senso.mat) <- list(c("PHYCHEM","SENSORY","HEDONIC"), c("PHYCHEM","SENSORY","HEDONIC")) senso.sets <- list(1:9,10:16,17:112) senso.mod <- rep("A",3) res3 <- plspm(orange, senso.mat, senso.sets, senso.mod, scheme="centroid", scaled=TRUE, boot.val=FALSE) ## example of PLS-PM in multi-block data analysis ## estimate a path model for the wine data set ## requires package FactoMineR library(FactoMineR) data(wine) SMELL <- c(0,0,0,0) VIEW <- c(1,0,0,0) SHAKE <- c(1,1,0,0) TASTE <- c(1,1,1,0) wine.mat <- rbind(SMELL,VIEW,SHAKE,TASTE) wine.sets <- list(3:7,8:10,11:20,21:29) wine.mods <- rep("A",4) scheme <- "centroid" scaled <- FALSE boot.val <- FALSE res4 <- plspm(wine, wine.mat, wine.sets, wine.mods, scheme="centroid") ## End(Not run)