knitr::opts_chunk$set( collapse = TRUE, comment = "#>", message = FALSE, warning = FALSE, eval = identical(Sys.getenv("IN_PKGDOWN"), "true") ) library(plssem)
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" )
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.