Structural Equation Modeling by Partial Least Squares
Description
sempls
fits structural equation models by the patial least
squares (PLS) method. The estimation is based on the raw data and
requires no distributional assumptions.
Usage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41  sempls(model, ...)
## S3 method for class 'plsm'
sempls(model, data, maxit=20, tol=1e7,
scaled=TRUE, sum1=FALSE, wscheme="centroid", pairwise=FALSE,
method=c("pearson", "kendall", "spearman"),
convCrit=c("relative", "square"),
verbose=TRUE, ...)
## S3 method for class 'sempls'
print(x, digits=2, ...)
## S3 method for class 'sempls'
plot(x, ...)
## S3 method for class 'sempls'
densityplot(x, data, use=c("fscores", "prediction",
"residuals"), ...)
pathCoeff(object, ...)
## S3 method for class 'sempls'
pathCoeff(object, ...)
## S3 method for class 'pathCoeff'
print(x, na.print=".", digits=2, abbreviate=FALSE, ...)
totalEffects(object)
## S3 method for class 'sempls'
totalEffects(object)
## S3 method for class 'totalEffects'
print(x, na.print=".", digits=2, abbreviate=FALSE,...)
plsWeights(object)
## S3 method for class 'sempls'
plsWeights(object)
## S3 method for class 'plsWeights'
print(x, na.print=".", digits=2, abbreviate=FALSE, ...)
plsLoadings(object)
## S3 method for class 'sempls'
plsLoadings(object)
## S3 method for class 'plsLoadings'
print(x, type=c("discriminant", "outer", "cross"),
cutoff=NULL, reldiff=0.2, na.print=".", digits=2, abbreviate=FALSE, ...)

Arguments
model 
An object inheriting from class 
... 
Arguments to be passed down. 
data 
A 
maxit 
A 
tol 
A 
scaled 
A 
sum1 
A 
wscheme 
A

pairwise 
A 
method 
A
For more details on the method, the R help, 
convCrit 
The convergence criteria to use:

verbose 
Logical: If 
object 
An object of class 
x 
An object of the according class. 
type 
If the argument

cutoff 
A numerical value at which to cutoff the loadings – this means loadings smaller than the cutoff value will not be printed. 
reldiff 
The argument is only effectiv when 
na.print 
A 
digits 
minimal number of _significant_ digits, see 
use 
The values for which the density plots are created. If

abbreviate 
A logical indicating whether dimnames should be abbreviated. For
Details see 
Value
sempls
returns an object of class sempls
, with the following elements:
coefficients 
A 
path_coefficient 
The 
outer_loadings 
The 
cross_loadings 
The 
total_effects 
The 
inner_weights 
The 
outer_weights 
The 
factor_scores 
A 
data 
A 
incomplete 
The index of the incomplete observations. 
... 
All the other values are just storing information used in
the 
See Also
plsm
, read.splsm
,
rSquared
, pathDiagram
,
bootsempls
, plsm2sem
,
sem
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55  data(ECSImobi)
ecsi < sempls(model=ECSImobi, data=mobi, wscheme="pathWeighting")
ecsi
## create plots
densityplot(ecsi)
densityplot(ecsi, use="prediction")
densityplot(ecsi, use="residuals")
## Values of 'sempls' objects
names(ecsi)
ecsi$outer_weights
ecsi$outer_loadings
ecsi$path_coefficients
ecsi$total_effects
### using convenience methods to sempls results
## path coefficients
pathCoeff(ecsi)
## total effects
totalEffects(ecsi)
## get loadings and check for discriminant validity
(l < plsLoadings(ecsi))
# outer loadings
print(l, type="outer", digits=2)
# outer loadings greater than 0.5
print(l,type="outer", cutoff=0.5, digits=2)
# cross loadings greater than 0.5
print(l, type="cross", cutoff=0.5, digits=2)
### Rsquared
rSquared(ecsi)
### Create .dot representation of the path diagram and
### create .pdf file if graphviz is available.
## Not run:
pathDiagram(ecsi, file="ecsiPLS1", edge.labels="both",
output.type="graphics", digits=3, graphics.fmt = "pdf")
# include Rsquared values
pathDiagram(ecsi, file="ecsiPLS2", edge.labels="both",
output.type="graphics", digits=3, graphics.fmt = "pdf",
rSquared=rSquared(ecsi))
# only the structural model
pathDiagram(ecsi, file="ecsiPLS3", edge.labels="both",
output.type="graphics", digits=3, graphics.fmt = "pdf",
rSquared=rSquared(ecsi), full=FALSE)
## End(Not run)
