Learn R Programming

plspm (version 0.5.1)

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)

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

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).

Author

Gaston Sanchez, Giorgio Russolillo

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. https://projecteuclid.org/euclid.ejs/1348665231

See Also

innerplot, outerplot,

Examples

Run this code
if (FALSE) {
## 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 DataLab