It is possible to estimate models with second order construcst with
the pls() function, using the two-stage approach. Here we
see an example using the TPB_2SO dataset, from the
modsem package. The model below contains two second order
latent variables, INT (intention) which is a second order
latent variable of ATT (attitude) and SN
(subjective norm), and PBC (perceived behavioural control)
which is a second order latent variable of PC (perceived
control) and PB (perceived behaviour).
library(modsem)
tpb_2so <- '
# First order latent variables
ATT =~ att1 + att2 + att3
SN =~ sn1 + sn2 + sn3
PB =~ pb1 + pb2 + pb3
PC =~ pc1 + pc2 + pc3
BEH =~ b1 + b2
# Higher order latent variables
INT =~ ATT + SN
PBC =~ PC + PB
# Structural model
BEH ~ PBC + INT + INT:PBC
'
fit <- pls(tpb_2so, data = TPB_2SO, bootstrap = TRUE, boot.R = 50)
summary(fit)