semPLS : Structural Equation Modeling Using Partial Least Squares

This introduction to the R package semPLS is a (slightly) modiﬁed version of Monecke and Leisch (2012), published in the Journal of Statistical Software . Structural equation models (SEM) are very popular in many disciplines. The partial least squares (PLS) approach to SEM oﬀers an alternative to covariance based SEM, which is especially suited for situations when data is not normally distributed. PLS path modelling is referred to as soft–modeling–technique with minimum demands regarding measurement scales, sample sizes and residual distributions. The semPLS package provides the capability to estimate PLS path models within the R programming environment. Diﬀerent setups for the estimation of factor scores can be used. Furthermore it contains modular methods for computation of bootstrap conﬁdence intervals, model parameters and several quality indices. Various plot functions help to evaluate the model. The well known mobile phone dataset from marketing research is used to demonstrate the features of the package.


Introduction
Within the academic literature of many fields, Rigdon (1998) remarks, structural equation modeling (SEM) has taken up a prominent role.Whenever researchers deal with relations between constructs such as satisfaction, role ambiguity, or attitude, SEM is likely to be the methodology of choice.Since SEM is designed for working with multiple related equations simultaneously, it offers a number of advantages over some more familiar methods and therefore provides a general framework for linear modeling.SEM allows great flexibility on how the equations are specified.The development of an evocative graphical language (McArdle 1980;McArdle and McDonald 1984) has accompanied the development of SEM as a statistical method.Due to this language, complex relationships can be presented in a convenient and powerful way to others not familiar with SEM.
The partial least squares approach to SEM (or PLS path modeling), originally developed by Wold (1966Wold ( , 1982Wold ( , 1985) ) and Lohmöller (1989), offers an alternative to the more prominent covariance-based (CBSEM, Jöreskog 1978).Whereas CBSEM estimates model parameters so that the discrepancy between the estimated and sample covariance matrices is minimized, in PLS path models the explained variance of the endogenous latent variables is maximized by estimating partial model relationships in an iterative sequence of ordinary least squares (OLS) regressions (e.g., Hair, Ringle, and Sarstedt 2011b).It is worth mentioning that in PLS path modeling latent variable (LV) scores are estimated as exact linear combinations of their associated manifest variables (MVs) and treats them as error free substitutes for the manifest variables.Whereas CBSEM requires hard distributional assumptions, PLS path modeling is a soft-modeling-technique with less rigid distributional assumptions on the data.At this point it should be mentioned, that PLS path modeling is not to be confused with PLS regression.According to Chin (1998) it can be argued, that depending on the researcher's objectives and epimistic view of data to theory, properties of the data at hand or level of theoretical knowledge and measurement development, PLS path modeling is more suitable.Additionally, great interest in applying PLS path models has been stimulated by the increasing need in modeling so called formative constructs, especially in marketing and management/organizational research (e.g., Diamantopoulos and Winklhofer 2001;Jarvis, MacKenzie, and Podsakoff 2003;MacKenzie, Podsakoff, and Jarvis 2005).The application of PLS path models in marketing is discussed in depth by Henseler, Ringle, and Sinkovics (2009) and Hair, Sarstedt, Ringle, and Mena (2011a).For a related discussion in the field of management information systems, see Ringle, Sarstedt, and Straub (2012).
The semPLS is a package for structural equation modeling (SEM) with partial least squares (PLS) in R (R Development Core Team 2012).It is available from the Comprehensive R Archive Network at http://CRAN.R-project.org/package=semPLS.One of the major design goals is to provide a comprehensive open-source reference implementation.The package offers • modular methods for model fitting, calculation of quality indices, etc., • plotting features for better understanding of the multivariate model data, • a convenient user interface for specifying, manipulating, importing and exporting model specifications, • and an easily extensible infrastructure.
Within the package there are two central methods.The first is plsm which is used to create valid model specifications.The second is sempls which fits the model, specified with plsm.
Factor scores can be estimated by using three different weighting schemes: centroid, factorial and path weighting.For the calculation of the outer weights, correlations can be calculated by using Pearson-correlations for continuous data or Spearman-or Kendall-correlations when the scale of the data has rather ordinal character.If the data contains missing values it is possible to use pairwise correlations to compute outer weights.In addition to the estimated factor scores and outer weights, sempls computes loadings, path coefficients and total effects, as those are the parameters of interest.For the outer loadings/weights and path coefficients different types of bootstrap confidence intervals and standard errors are available.Calculation of quality indices (R 2 , Q 2 , Dillon-Goldstein's ρ, etc.) is done via specific methods.PLS path models specified with plsm can be easily manipulated by a variety of utility methods.Models specified in SmartPLS can be imported.Several plot types (e.g.pairs plots of MV blocks, convergence diagnostic of outer weights, kernel density estimates of residuals/bootstrap parameters, parallel coordinates of bootstrap parameters, etc.) support the researcher in evaluating their models.Finally a graphical representation of the model including outer loadings and path coefficients can be written to a DOT file which can be rendered and plotted by dot (Gansner, Koutsofios, and North 2006), a layout program contained in Graphviz (AT&T Research 2009).
Graphviz is an open-source graph visualization software.
When it is intended to also estimate the model by the covariance-based approach (CBSEM), the model can be exported to an object of class semmod and fitted with sem (Fox 2006;Fox, Nie, and Byrnes 2012), see Section 5.
In the development process of the semPLS package we checked the results for model parameters against those obtained by a list of other PLS path modeling software.This list includes SmartPLS (Ringle, Wende, and Will 2005), XLSTAT-PLSPM (Esposito Vinzi, Fahmy, Chatelin, and Tenenhaus 2007, in  The remainder of this paper is organized as follows: In Section 2 we sketch the theoretical background of PLS path modeling exemplary for the ECSI model (Tenenhaus, Esposito Vinzi, Chatelin, and Lauro 2005), a customer satisfaction index for the mobile phone industry.The basic usage of plsm and sempls is illustrated in Section 3. Section 4 explains how to get bootstrap confidence intervals for the model parameters and how to visualize bootstrapped parameters.In Section 5 other topics such as manipulation of the model specification, export for fitting with sem and importing of model specifications from SmartPLS are addressed.Finally, we close with a summary and outlook in Section 6.

Theoretical background: PLS path models in a nutshell
PLS path models consists of three components: the structural model, the measurement model and the weighting scheme.Whereas structural and measurement model are components in all kinds of SEMs with latent constructs, the weighting scheme is specific to the PLS approach.As in Tenenhaus et al. (2005) we introduce the theory by the example of European customer satisfaction index (ECSI) and the measurement instrument for the mobile phone industry.The description of the measurement instrument is available from the help page help("ECSImobi") in the semPLS package.In Figure 1   digraphs.A digraph is called simple if it has no loops and at most one arc between any pair of nodes.A digraph is connected if an undirected path between any two nodes exits; consequently no node is isolated from the rest.

The structural model
In the structural model, also called inner model, the LVs are related with each other according to substantive theory.LVs are divided into two classes, exogenous and endogenous.Exogenous LVs do not have any predecessor in the structural model, all others are endogenous.The structural model for the ECSI model is depicted by Figure 2. The only exogenous LV in the ECSI model is Image.The graph can be described by an adjacency matrix D as displayed in Table 1.
For the benefit simplicity the notation we use for the structural model dismisses the difference between exogenous and endogenous variables and we start with the compact form

The measurement model
The measurement model or outer model relates observed variables (MVs) to their latent variables (LVs).Often observed variables are referred to as manifest variables or indicators, latent variables as factors.Within the PLS framework one manifest variable can only be related to one LV.All manifest variables related to one LV are called a block.So each LV has its own block of observed variables.A block must contain at least one MV.The way a block can be related to an LV can be either reflective (see Figure 3) or formative (see Figure 4).
Without loss of generality we can make the following assumptions: 1.All MVs contained in the data matrix X are scaled to have zero mean and unit variance.
2. Each block of MVs X g is already transformed to be positively correlated for all LVs y g , g = 1, . . ., G.
As we will see, when the PLS algorithm (Section 2.3) is described, all the LVs values (factor scores) are constructed in a way to also have zero mean and unit variance.Table 4 in the appendix gives an overview of the notation used.
Reflective measurement: In the reflective way (Mode A) each block of MVs reflects its LV and can be written as the multivariate regression: So w ⊤ g can be estimated by least squares as (2) Note, that the PLS algorithm (see Section 2.3) estimates all the LVs y g , g = 1, . . ., G, as linear combination of their MVs under the constraint to have unit variance.At the beginning of this chapter we assumed all the MVs to be scaled to zero mean and unit variance.Consequently, the equality above is valid.Figure 3 depicts a path diagram for a reflectively measured LV.
Formative measurement: For the formative way (Mode B) the LV is considered to be formed by its MVs following a multiple regression: Again w g is estimated by least squares: (3) The latent variable y g is measured by the block X g consisting of three observed variables, x 1 , . . ., x 3 , in a reflective way (mode A).
Figure 4: The latent variable y g is measured by the block X g consisting of three observed variables, x 1 , . . ., x 3 , in a formative way (mode B).
As for the reflective measurement, the equality results from the scaling of LVs and MVs.
Let us keep in mind, that X g is a matrix, when the LV y g is measured by a block of more than one MV.In that case VAR(X g ) refers to covariance matrix.Figure 4 depicts a path diagram for a formatively measured LV.E.g., Diamantopoulos and Winklhofer (2001) discuss formative constructs in detail.
When all latents in a model are measured reflectively, it is called a reflective model.If all of them are measured formatively, the model is formative.A mixture of both measurement modes is referred to as MIMIC (Tenenhaus et al. 2005) or multi-block model (Chin 1998).
Let κ g = {k ∈ {1, . . ., K} | x k ∼ y g } be a set of indices for MVs related to LV y g then w g , g = 1, . . ., g, is a column vector of length |κ g |.We can write down the matrix of outer weights W as Table 2 depicts the adjacency matrix M for the ECSI model.It has the same structure as the matrix of outer weights W and it is used for the initialization, as we will see, when the PLS algorithm (Section 2.3) is described.If the entry m kg = 1, MV x k is one of indicators of LV y g .The MVs CUEX1 , CUEX2 and CUEX3 for example are indicators of the LV Expectation.Note, that the matrix M includes no information about the direction.So it does not tell us anything about the measurement mode of the blocks.

The partial least squares (PLS) algorithm
Now let us have a look at the partial least squares (PLS) algorithm (Wold 1982;Lohmöller 1989).The PLS algorithm aims at estimating the values for LVs (factor scores) by an iterative procedure.Figure 5 depicts the flowchart of the algorithm.The idea is to first construct each LV by the sum of its MVs.Then in the inner approximation we try to reconstruct each LV by means of its neighbouring LVs.In the outer approximation we try to find the best linear combination to express each LV by means of its MVs; the coefficients are referred to as outer weights.Finally, in step 4, each LV is constructed as weighted sum or linear combination of its MVs.After each step the LVs are scaled to have zero mean and unit variance.The algorithm stops if the relative change for all the outer weights is smaller than a predefined tolerance.
Step 1 (initialization): We are constructing each LV as a weighted sum of their MVs.Remember that we are assuming all the MVs, X 1 , . . ., X K , to be scaled (mean(X i ) = 0 and VAR(X i ) = 1).We have already seen the matrix M for the ECSI model (Table 2).

Start
Step 1: Initialisation Result Step 2: Inner Approximation Step 3: Outer Approximation Step 4: Calculating factor scores In the initialization all the weights equal one.As a sum of centred variables all the LVs are also centred (mean = 0).But we still have to scale them to have unit variance (var = 1).
Step 2 (inner approximation): In the inner approximation we estimate each LV as a weighted sum of its neighbouring LVs.The weighting depends on the used scheme (see Section 2.3.1).Again we are scaling the recomputed LVs to have unit variance.
Step 3 (outer approximation): For the initialization all weights were one, now we are recalculating the weights on the basis of the LV values from the inner approximation (Step 2).According to the measurement mode (see Section 2.2) of the LV in focus, the weights can be estimated as, Mode A a multivariate regression coefficient with the block of MVs as response and the LV as regressor: Mode B or a multiple regression coefficient with the LV as response and its block of MVs as regressors: Step 4: In Section 2.2 we have seen how to arrange the outer weights vectors, w 1 , . . ., w G , in an outer weights matrix W , which we are using now to estimate the factor scores by means of the MVs: resulting in the outer estimation: Ŷ = ( ŷ1 , . . ., ŷG ).
Step 5: If the relative change of all the outer weights from one iteration to the next are smaller than a predefined tolerance, the estimation of factor scores done in Step 4 is taken to be final.Otherwise go back to Step 2.

Weighting schemes
The weighting scheme is used for the estimation of the inner weights in Step 2 (2.3) of the PLS algorithm.Originally Wold (1982) proposed the centroid weighting scheme.Later Lohmöller (1989) introduced two other schemes, factorial and path weighting.Table 1 shows the adjacency matrix D for the LVs in the ECSI model.This matrix is representing the structural part of the model we have already seen in Figure 2. Contrary to the matrix M for the measurement model, D accounts for the directionality.For every d ij = 1, there is an arc from node i, the head of the arc, to node j, the tail of the arc.We could also say, the columns indicate the successor, whereas the rows indicate the predecessors.As we will see, the adjacency matrix D facilitates the calculation of the inner weights.For all the weighting schemes, each LV is constructed as a weighted sum of the LVs it is related with.The weighting schemes differ in the way the relation is defined.Generally we can express the inner estimate Ỹ as matrix product of the outer estimate Ŷ and the matrix of inner weights E: Furthermore let us denote R = COR( Ŷ ), the empirical correlation matrix for the LVs resulting from the outer estimation, and C = D + D ⊤ a symmetrical matrix indicating whether two LVs are neighbours.
Centroid weighting scheme: Following the centroid weighting scheme, the matrix of inner weights E takes the form Factorial weighting scheme: The factorial weighting scheme, is quite similar to the centroid weighting scheme, except for the sign of the correlation between two neighbouring LVs, the correlation is used directly.This might be quite reasonable, when there are pairs of neighbouring LVs with correlations close to zero.
Path weighting scheme: For the path weighting scheme (or structural scheme) the predecessors and successor of a LV play a different role in the relation.Let us define the out-neighbourhood, or successor set of a node i as the set of tails of arcs going from i.
Likewise, an in-neighbourhood, or predecessor set of a node i is the set of heads of arcs going into i.A head is representing the start/initial node of an arch, a tail its end/terminal node.
The relation for one specific LV y i with its successor is determined by their correlation, for the predecessors it is determined by a multiple regression with y pred i the predecessor set of the LV y i .Denoting y succ i the successor set of the LV y i the elements of the inner weight matrix E are , else. (15)

Calculation of path coefficients, total effects and loadings
Once the factor scores are estimated by PLS algorithm, the path coefficients can be estimated by ordinary least squares (OLS), according to the structural model (Section 2.1).For each LV ŷg , g = 1, . . ., G, the path coefficient is the regression coefficient on its predecessor set ŷpred We obtain the elements bij , i, j = 1, . . ., G, of the estimated matrix of path coefficients B: The matrix B can be interpreted as transition matrix for the structural model.We can calculate the matrix of total effects T as the sum of the 1 to G step transition matrices: Note, that Bg expands to , B2 contains all the indirect effects mediated by only one LV.The cross and outer loadings are estimated as: Remember, M is the adjacency matrix for the measurement model.Table 2 shows the respective matrix for the ECSI model.

Getting started: how to fit a model with sempls()
For illustration, we continue with the ECSI model introduced in the previous Section.The first step, of course, is to attach the semPLS package.

R> library("semPLS")
Starting from scratch we have to create two so-called from-to-matrices that are used for constructing the adjacency matrix D of the structural model, the other for the adjacency matrix M of the measurement model.A from-to-matrix is a two column matrix with each row representing a directed edge in a graph.The first column of a row contains the name of the node where the tail of an arrow starts, the second must contain the name of the node where the head of the arrow is connected.For the ECSI model the according matrices are already pre-built, so we just have to load them.The matrices ECSIsm and ECSImm represent structural and measurement model.

R> ECSImm
The last prerequisite we need before we can finally setup our model is a dataset containing the MVs.In our example we use the mobi dataset which is included in the package.

R> data("mobi")
Now we use plsm function to create an object suited for use with the fitting function sempls.The method needs the arguments data the name of the dataset containing the observed variables, strucmod a from-to-matrix representing the structural model and measuremod a from-to-matrix representing the measurement model.Matrices as shown above can be created by matrix().For convenience one can use a spreadsheet to quickly enter the from-to-matrices by setting interactive=TRUE.For reproducibility reasons the corresponding R expression is printed and should be saved.Alternatively csvfiles can be used to specify structural and measurement models, see the example section in help("plsm").Furthermore models already specified in SmartPLS (Ringle et al. 2005), see Section 5, can be imported.

R> ECSI <-plsm(data = mobi, strucmod = ECSIsm, measuremod = ECSImm)
Objects of class plsm provide a structure such that the block structure of the data can be reflected, see Figure 6.

R> mvpairs(model = ECSI, data = mobi, LVs = "Expectation")
Once the model is setup by plsm, model parameters can be estimated by the sempls function.By specifying the argument wscheme="centroid", the centroid weighting scheme is used for the inner estimation, for other weighting schemes consult the help page of sempls.The print method for sempls objects assures that only the estimates of special interest, path coefficients and loadings (weights in case of formative measures), are printed.Additional values of the sempls object can be accessed either explicitly or with specific getter methods.

R> ecsi <-sempls(model = ECSI, data = mobi, wscheme = "centroid")
All 250 observations are valid.Converged after 6 iterations.Tolerance: 1e-07 Scheme: centroid For graphical representation of the results, pathDiagram() creates a graph in the DOT Language (Gansner et al. 2006).If Graphviz ( AT&T Research 2009) is available on the system, the DOT code can be directly rendered to a graphics format such as PDF (vector graphic) or PNG (bitmap) or various others.By specifying edge.labels= "both", names of the parameters and values are both printed.By setting full = FALSE, only the structural model is processed.As Graphviz uses internal rendering algorithms for the layout of the graph, this function is especially useful for models with a large number variables.Note, that for people unfamiliar with Graphviz some aspects of the resulting path diagram may be hard to change.

Function
Model criteria rSquared() coefficients of determination, R 2 values, for each endogenous LV qSquared() Stone-Geisser's Q 2 for assessment of predictive relevance dgrho() Dillon-Goldstein's rho, also referred to as composite reliability communality() communality indices for reflectively measured LVs with more than one MV redundancy() redundancy indices for endogenous LVs gof() GoF index (geometric mean of average communality and average determination coefficient) Table 3: A list of criteria for model validation which are already available in the semPLS package.
Path coefficients and total effects are extracted by pathCoeff and totalEffects.As we see in the example dimnames can be abbreviated.By calling plot on a sempls object, a plot of the evolution of outer weights until convergence for all blocks of MVs is created.Figure 8 depicts the result of plot(ecsi), using lattice (Sarkar 2008).

Img
Kernel density estimates can provide hints on the adequacy of the model, see Figure 9.

Bootstrapping sempls objects
Finally we can bootstrap the estimations for outer loadings and path coefficients, leveraging the boot package (Canty and Ripley 2012;Davison and Hinkley 1997).The summary method also calculates confidence intervals based on the percentile method.We use 500 bootstrap samples and we use ones to initialise the outer weights.For the outer loading lam_6_1 no confidence interval can be computed, because it relates the LV Complaints to its only MV CUSCO, which is always estimated as 1.

Manipulating an existing model
Once we are working with a model, we might want to add or remove a path, bring in or take out variables, both LVs and MVs, or even to invert the measurement model from reflective to   formative and vice versa.The semPLS package provides a list of methods to perform those tasks.All of them are found in help("plsmUtils").With plsmEdit the from-to-matrices for structural and measurement model can be edited in a spreadsheet.When the spreadsheets are saved, the method checks whether the model is still valid.Valid means all MVs are available in the data, names of MVs and LVs are not allowed to coincide.All MVs of a block must be in the same column, this is because a block of MVs can either belong to a reflective or formative LV.And the structural model must be recursive -an acyclic graph.
To better understand models of class plsm, we will check for changes made by the utility methods in the respective elements of the plsm object.We continue with the ECSI model and invert the measurement model of the LV Expectation.This does not result in changes in the adjacency matrix M , ECSI[["M"]], as it does not include the direction.The measurement model is coded in the element ECSI[["blocks"]], a list with elements named by the LVs and character vectors naming the MVs as elements.Each Element has an attribute "mode" with supported values "A", reflective, and "B", formative.

Summary and outlook
In this article, we have described some of the basic features of the semPLS package for working with PLS path models in R. While illustrating the usage of the different functions for model specification, model fitting, bootstrapping and computation of quality indices, we have focused at showing the modularity of the package.Due to this modularity the semPLS package can be extended easily.
As we have demonstrated, a variety of graphical tools support the researcher in exploring their model data.Parallel coordinates of bootstrap coefficients can be useful to detect unobserved heterogeneity.With the help of mvpairs plots, ceiling or floor effects and dubious observations are spotted quickly.By means of plots for the evolution of outer weights, convergence problems can be discovered.
Currently the semPLS does not support moderating effects in an object oriented way, though they can be specified manually.The plpm class will be extended to also support moderating effects.Further development plans are • to enhance visualization methods by making them more dynamic and better accessible by the user, e.g., to add grouping variables post-hoc, • to integrate a simulator function to draw samples from hypothetical models, thus opening the door to large scale Monte Carlo experiments, and • to develop new methods for dealing with unobserved heterogeneity.

Figure 1 :
Figure 1: The graph represents the nomological network of the ECSI model for mobile phone provider (Tenenhaus et al. 2005).LVs are displayed in ellipses and MVs are displayed in boxes.

Figure 5 :
Figure 5: The diagram depicts the flowchart for the PLS algorithm.

Figure 8 :
Figure 8: The plot depicts the evolution of outer weights until convergence.ecsiresiduals

Figure 9 :
Figure 9: The plot depicts kernel density estimates of the residuals of estimated endogenous LVs. lam_2_2

Figure 10 :
Figure 10: The figure depicts the bootstrap distribution of the path coefficients based on 500 resamples.

Figure 11 :
Figure 11: The figure depicts parallel coordinates for the path coefficients of 500 bootstrap samples (solid light-gray lines), the sample path coefficients (solid dark-red line), 90% bootstrap bca confidence intervals (dashed dark-red lines) and two reference lines at 0 and 0.5 (dotted black lines).
(Chin 2003)s, and Hildebrandt (2010)ee http://www.xlstat.com/en/products/xlstat-plspm/)and the plspm package(Sanchez and Trinchera 2012).Note, that SmartPLS and XLSTAT-PLSPM are closed source and plspm is licensed under the General Public License (GPL ≥ 2).All differences in model parameters due to the used software were in line with the predefined tolerance for the outer weights.For a long time LVPLS 1.8(Lohmöller 1987) was the only available software for PLS path modeling.The DOS-based program includes two different modules for estimating path models.The LVPLSC method analyzes the covariance matrix of the observed variables, whereas the LVPLSX module is able to process raw data.In order to specify the input file an external editor is necessary.The input specification requires that the program parameters are defined at specific positions in the file.Results are reported in a plain text file.The program offers blindfolding and jackknifing as resampling methods in case raw data has been analyzed.When analyzing covariance/correlation matrices, resampling techniques cannot be applied.A comparison of PLS Software available in August 2006 is provided byTemme, Kreis, and Hildebrandt (2010): LVPLS, VisualPLS(Fu 2006), PLS-Graph(Chin 2003), SPAD (Test&Go 2006) and SmartPLS.XLSTAT-PLSPM and the plspm package were released later.For users who want a graphical user interface (GUI), SmartPLS or XLSTAT-PLSPM may be convenient choices.SmartPLS can be obtained free of charge whereas XLSTAT-PLSPM is distributed commercially.Concerning the open-source implementations semPLS and plspm, there may not exist a specific reason for many users to prefer one over the other, though the modular design of semPLS makes it more flexible and easier to extend.In general it is of benefit to have independent open-source implementations, e.g., for benchmarking.
SmartPLS: SmartPLS is a stand alone software specialized for PLS path models.It is built on a Java Eclipse platform making it operating system independent.The model is specified via drag & drop by drawing the structural model for the latent variables and by assigning the indicators to the latent variables.Data files of various formats can be loaded.After fitting a model, coefficients are added to the plot.More detailed output is provided in plain text, L A T E X and HTML format.The graph representing the model can be exported to PNG.Besides bootstrapping and blindfolding methods it supports the specification of interaction effects.A special feature of SmartPLS is the finite mixture routine (FIMIX), a method to deal with unobserved heterogeneity (e.g., Ringle, Wende, and Will 2010; Sarstedt and Ringle 2010; Sarstedt, Becker, M., and Schwaiger 2011).XLSTAT-PLSPM: XLSTAT (Addinsoft 2011) is a modular statistical software relying on Microsoft Excel for the input of data and the display of results, but the computations are done using autonomous software components.XLSTAT-PLSPM is integrated in XLSTAT as a module for the estimation of PLS path models.It is developed by a research team from the Department of Mathematics and Statistics of the University of Naples in Italy and Addinsoft in France and implements all methodological features and most recent findings of the PLEASURE (Partial LEAst Squares strUctural Relationship Estimation) technology by Esposito Vinzi et al. (2007).Special features of XLSTAT-PLSPM are multi-group comparisons (Chin and Dibbern 2010) and the RE-BUS segmentation approach (Esposito Vinzi, Trinchera, and Amato 2010) for treatment of unobserved heterogeneity.plspm in R: The plspm package implements PLS methods with emphasis on structural equation models in R. The fitting method plspm.fitreturns a list including all the estimated parameters and almost all statistics associated with PLS path models.The print method gives an overview of the following list elements: outer model, inner model, scaled LVs, LVs for scaled = FALSE, outer weights, loadings, path coefficients matrix, R 2 , outer correlations, summary inner model, total effects, unidimensionality, goodness-of-fit, bootstrap results (only if activated) and the data matrix.A summary is available, which basically returns the latter list including some formatting.A plot method creates a graphical representation of the model including estimated parameters.For treatment of observed heterogeneity pathmox (Sanchez and Aluja 2012) is provided as companion package.

Table 1 :
The table displays the adjacency matrix D for the ECSI model.If the entry d ij = 1 the LV i is a predecessor of LV j.The matrix D can always be structured as a triangular matrix.Satisfaction = β 15 Image + β 25 Expectation + β 35 Quality + β 45 Value + z 5 Complaints = β 56 Satisfaction + z 6 Loyalty = β 17 Image + β 57 Satisfaction + β 67 Complaints + z 7 .

Table 2 :
The table shows the adjacency matrix M for the measurement model.If the entry m kg = 1 the MV k is one of the indicators of the LV g.The zeros are shaded out to better perceive the block structure.
Loadings are extracted by plsLoadings.Since loadings can be used to check for discriminant validity, the default for the print method of plsLoadings objects is to print numeric values only for the row maxima and loading relatively close to them.The MV IMAG2 for example loads relatively high on the LVs Image and Quality.To print outer or cross loadings, the print method has to be called explicitly with its type argument specified.Another argument, reldiff, can be used to check for discriminant validity.The default is 0.2, which means that all crossloadings bigger than (1 − 0.2) times the maximum crossloading for a MV are printed.