High-Performance Open-Source Archive
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.
unstandardized_estimates(fit)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.
# x1 is unstandardized
subset(
unstandardized_estimates(fit, unstandardized = c("x1", "X")),
lhs == "X" | rhs == "X"
)
# x1 is standardized
subset(
unstandardized_estimates(fit, unstandardized = "X"),
lhs == "X" | rhs == "X"
)
Need mirroring services?
Contact our team at info@vpspulse.com.
Mirror powered by VPSpulse
Infrastructure sponsored by VPSPulse & Secure Payments by ArionPay.