In general, the PLS-SEM framework and the pls()
function assume that the model is fully standardized (i.e., all observed
and latent variables have zero mean and unit variance). However, it is
possible to get unstandardized estimates for your models using a
post-estimation procedure. This can be done either by using the
unstandardized_estimates() function or by passing
unstandardized = TRUE to the summary()
function. Here is an example using summary().
m <- '
X =~ x1 + x2 + x3
Z =~ z1 + z2 + z3
Y =~ y1 + y2 + y3
Y ~ X + Z + X:Z + X:X
'
fit <- pls(m, modsem::oneInt, bootstrap = TRUE, boot.R = 100)
summary(fit, unstandardized = TRUE)To get more detailed results, including standard errors, we can use
the unstandardized_estimates() function directly.
It is also possible to pass a vector of variable names, detailing which variables should be unstandardized. The rules for different variables are as follows:
Note that the observed and latent variables can be standardized separately. This has implications for latent variables. Since we unstandardize latent/composite variables by fixing the first loading/weight to 1, their scale is inherited from the first indicator. That means that we will get a different result depending on whether the first indicator gets unstandardized or not.
Here, for example, we can see that we get different results if we do
not unstandardize x1 when unstandardizing
X.