As of yet, the modsem
package does not support using the
interaction operator :
between two higher order constructs.
However, you can still attempt to estimate the interaction effect
between two higher order constructs by specifying the interaction term
in models using the product indicator approaches (higher order
constructs are not supported at all in the lms
and
qml
approaches yet). The modsem
package will
then attempt to estimate the interaction effect between the two higher
order constructs.
WARNING: Please note that the literature on higher order interactions in product indicator approaches is virtually non-existant, and you will likely need to experiment with different approaches to find one that works. As well as experiment with adding constraints to the model.
In modsem
there are two datasets which are variants of
the Theory of Planned Behaviour (TPB
) dataset. The
TPB_2SO
contains two second order constructs,
INT
(intention) which is a second order construct of
ATT
(attitude) and SN
(subjective norm), and
PBC
(perceived behavioural control) which is a second order
construct of PC
(perceived control) and PB
(perceived behaviour).
tpb <- '
# First order constructs
ATT =~ att1 + att2 + att3
SN =~ sn1 + sn2 + sn3
PB =~ pb1 + pb2 + pb3
PC =~ pc1 + pc2 + pc3
BEH =~ b1 + b2
# Higher order constructs
INT =~ ATT + SN
PBC =~ PC + PB
# Higher order interaction
INTxPBC =~ ATT:PC + ATT:PB + SN:PC + SN:PB
# Structural model
BEH ~ PBC + INT + INTxPBC
'
est_ca <- modsem(tpb, data = TPB_2SO, method = "ca")
summary(est_ca)
est_dblcent <- modsem(tpb, data = TPB_2SO, method = "dblcent")
summary(est_dblcent)
In the TPB_1SO
dataset, the INT
construct
is a second order construct of ATT
, SN
and
PBC
. In this example, we will estimate the interaction
between the INT
(higher order construct) and
PBC
(first order construct).
tpb <- '
# First order constructs
ATT =~ att1 + att2 + att3
SN =~ sn1 + sn2 + sn3
PBC =~ pbc1 + pbc2 + pbc3
BEH =~ b1 + b2
# Higher order constructs
INT =~ ATT + PBC + SN
# Higher order interaction
INTxPBC =~ ATT:PBC + SN:PBC + PBC:PBC
# Structural model
BEH ~ PBC + INT + INTxPBC
'
est_ca <- modsem(tpb, data = TPB_1SO, method = "ca")
summary(est_ca)
est_dblcent <- modsem(tpb, data = TPB_1SO, method = "dblcent")
summary(est_dblcent)