plspm (version 0.4.9)

plspm: PLS-PM: Partial Least Squares Path Modeling

Description

Estimate path models with latent variables by partial least squares approach (for both metric and non-metric data) Estimate path models with latent variables by partial least squares approach (for both metric and non-metric data)

Usage

plspm(Data, path_matrix, blocks, modes = NULL,
    scaling = NULL, scheme = "centroid", scaled = TRUE,
    tol = 1e-06, maxiter = 100, plscomp = NULL,
    boot.val = FALSE, br = NULL, dataset = TRUE)

Arguments

Data
matrix or data frame containing the manifest variables.
path_matrix
A square (lower triangular) boolean matrix representing the inner model (i.e. the path relationships between latent variables).
blocks
list of vectors with column indices or column names from Data indicating the sets of manifest variables forming each block (i.e. which manifest variables correspond to each block).
scaling
optional argument for runing the non-metric approach; it is a list of string vectors indicating the type of measurement scale for each manifest variable specified in blocks. scaling must be specified when working with non-metric variables. Possible values: "num" (linear transformation, suitable for numerical variables), "raw" (no transformation), "nom" (non-monotonic transformation, suitable for nominal variables), and "ord" (monotonic transformation, suitable for ordinal variables).
modes
character vector indicating the type of measurement for each block. Possible values are: "A", "B", "newA", "PLScore", "PLScow". The length of modes must be equal to the length of blocks.
scheme
string indicating the type of inner weighting scheme. Possible values are "centroid", "factorial", or "path".
scaled
whether manifest variables should be standardized. Only used when scaling = NULL. When (TRUE, data is scaled to standardized values (mean=0 and variance=1). The variance is calculated dividing by N instead of N-1).
tol
decimal value indicating the tolerance criterion for the iterations (tol=0.000001). Can be specified between 0 and 0.001.
maxiter
integer indicating the maximum number of iterations (maxiter=100 by default). The minimum value of maxiter is 100.
plscomp
optional vector indicating the number of PLS components (for each block) to be used when handling non-metric data (only used if scaling is provided)
boot.val
whether bootstrap validation should be performed. (FALSE by default).
br
number bootstrap resamples. Used only when boot.val=TRUE. When boot.val=TRUE, the default number of re-samples is 100.
dataset
whether the data matrix used in the computations should be retrieved (TRUE by default).

Value

An object of class "plspm".
outer_model
Results of the outer model. Includes: outer weights, standardized loadings, communalities, and redundancies
inner_model
Results of the inner (structural) model. Includes: path coeffs and R-squared for each endogenous latent variable
scores
Matrix of latent variables used to estimate the inner model. If scaled=FALSE then scores are latent variables calculated with the original data (non-stardardized).
path_coefs
Matrix of path coefficients (this matrix has a similar form as path_matrix)
crossloadings
Correlations between the latent variables and the manifest variables (also called crossloadings)
inner_summary
Summarized results of the inner model. Includes: type of LV, type of measurement, number of indicators, R-squared, average communality, average redundancy, and average variance extracted
effects
Path effects of the structural relationships. Includes: direct, indirect, and total effects
unidim
Results for checking the unidimensionality of blocks (These results are only meaningful for reflective blocks)
gof
Goodness-of-Fit index
data
Data matrix containing the manifest variables used in the model. Only available when dataset=TRUE
boot
List of bootstrapping results; only available when argument boot.val=TRUE

Details

The function plspm estimates a path model by partial least squares approach providing the full set of results. The argument path_matrix is a matrix of zeros and ones that indicates the structural relationships between latent variables. path_matrix must be a lower triangular matrix; it contains a 1 when column j affects row i, 0 otherwise.
  • plspm: Partial Least Squares Path Modeling
  • plspm.fit: Simple version for PLS-PM
  • plspm.groups: Two Groups Comparison in PLS-PM
  • rebus.pls: Response Based Unit Segmentation (REBUS)

References

Tenenhaus M., Esposito Vinzi V., Chatelin Y.M., and Lauro C. (2005) PLS path modeling. Computational Statistics & Data Analysis, 48, pp. 159-205. Lohmoller J.-B. (1989) Latent variables path modeling 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. Russolillo, G. (2012) Non-Metric Partial Least Squares. Electronic Journal of Statistics, 6, pp. 1641-1669. http://projecteuclid.org/euclid.ejs/1348665231

See Also

innerplot, outerplot,

Examples

Run this code
## Not run: ------------------------------------
# ## typical example of PLS-PM in customer satisfaction analysis
# ## model with six LVs and reflective indicators
# 
# # load dataset satisfaction
# data(satisfaction)
# 
# # path matrix
# IMAG = c(0,0,0,0,0,0)
# EXPE = c(1,0,0,0,0,0)
# QUAL = c(0,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_path = rbind(IMAG, EXPE, QUAL, VAL, SAT, LOY)
# 
# # plot diagram of path matrix
# innerplot(sat_path)
# 
# # blocks of outer model
# sat_blocks = list(1:5, 6:10, 11:15, 16:19, 20:23, 24:27)
# 
# # vector of modes (reflective indicators)
# sat_mod = rep("A", 6)
# 
# # apply plspm
# satpls = plspm(satisfaction, sat_path, sat_blocks, modes = sat_mod,
#    scaled = FALSE)
# 
# # plot diagram of the inner model
# innerplot(satpls)
# 
# # plot loadings
# outerplot(satpls, what = "loadings")
# 
# # plot outer weights
# outerplot(satpls, what = "weights")
## ---------------------------------------------

Run the code above in your browser using DataCamp Workspace