## example of PLS-PM in alumni satisfaction
data(fibtele)
# select manifest variables
data.fib <-fibtele[,12:35]
# define inner model matrix
Image = rep(0,5)
Qual.spec = rep(0,5)
Qual.gen = rep(0,5)
Value = c(1,1,1,0,0)
Satis = c(1,1,1,1,0)
inner.fib <- rbind(Image,Qual.spec, Qual.gen, Value, Satis)
colnames(inner.fib) <- rownames(inner.fib)
# blocks of indicators (outer model)
outer.fib <- list(1:8,9:11,12:16,17:20,21:24)
modes.fib = rep("A", 5)
# apply plspm
pls.fib <- plspm(data.fib, inner.fib, outer.fib, modes.fib)
# re-ordering those segmentation variables with ordinal scale
seg.fib= fibtele[,2:11]
seg.fib$Age = factor(seg.fib$Age, ordered=T)
seg.fib$Salary = factor(seg.fib$Salary,
levels=c("<18k","25k","35k","45k",">45k"), ordered=T)
seg.fib$Accgrade = factor(seg.fib$Accgrade,
levels=c("accnote<7","7-8accnote","accnote>8"), ordered=T)
seg.fib$Grade = factor(seg.fib$Grade,
levels=c("<6.5note","6.5-7note","7-7.5note",">7.5note"), ordered=T)
# Pathmox Analysis
fib.pathmox=pls.pathmox(pls.fib,seg.fib,signif=0.05,deep=2,size=0.2,n.node=20)
# Select the terminal nodes
ls(fib.pathmox)
terminal.nodes=fib.pathmox$terminal
# Invariance test
inv.test=invariance_test(data.fib,terminal.nodes,inner.fib,
outer.fib,modes.fib,scheme="centroid",scale=T)
inv.test
Run the code above in your browser using DataLab