Last chance! 50% off unlimited learning
Sale ends in
Calculates basic PLS-PM results for the terminal nodes of PATHMOX trees
pls.treemodel(xpls, xtree, X = NULL, alpha = 0.05, terminal = TRUE,
scaled = FALSE, label = FALSE, label.nodes = NULL, ...)
An object of class "plspm"
returned by plspm
.
An object of class "xtree.pls"
returned by
pls.pathmox
.
Optional dataset (matrix or data frame) used when argument
dataset=NULL
inside xpls
.
is numeric value indicating the significance threshold of the invariance test
is string, if equal to TRUE
, just the terminal nodes are considered
for the output reults. when it is equal to FALSE
,the PLS-PM results are generated
for all nodes of the tree
to standardize the latent variables or not
is a string. It is false for defect. If it is TRUE
, label.nodes has to be fix.
is a vector with the name of the nodes. It is null for defect.
Further arguments passed on to pls.treemodel
.
An object of class "treemodel.pls"
. Basically a list with the
following results:
Matrix of the inner relationship between latent variables of the PLS-PM model
A data frame containing the results of the invariance test
Matrix of outer weights for each terminal node
Matrix of loadings for each terminal node
Matrix of path coefficients for each terminal node
Matrix of r-squared coefficients for each terminal node
list of matrix with the significance for each terminal node
The argument xpls
must be the same used for calculating the
xtree
object. When the object xpls
does not contain a data
matrix (i.e. pls$data=NULL
), the user must provide the data matrix or
data frame in X
.
The argument xtree
is an object of class "xtree.pls"
returned by
pls.pathmox
.
Lamberti, G. et al. (2016) The Pathmox approach for PLS path modeling segmentation. Applied Stochastic Models in Business and Industry; doi: 10.1002/asmb.2168;
Aluja, T., Lamberti, G., Sanchez, G. (2013). Extending the PATHMOX approach to detect which constructs differentiate segments. In H., Abdi, W. W., Chin, V., Esposito Vinzi, G., Russolillo, and L., Trinchera (Eds.), Book title: New Perspectives in Partial Least Squares and Related Methods (pp.269-280). Springer.
Lamberti, G. (2014) Modeling with Heterogeneity. PhD Dissertation.
Sanchez, G. (2009) PATHMOX Approach: Segmentation Trees in Partial Least Squares Path Modeling. PhD Dissertation.
Tenenhaus M., Esposito Vinzi V., Chatelin Y.M., and Lauro C. (2005) PLS path modeling. Computational Statistics & Data Analysis, 48, pp. 159-205.
# NOT RUN {
## 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)
fib.comp=pls.treemodel(pls.fib,fib.pathmox)
# }
# NOT RUN {
library(genpathmox)
data(fibtele)
# select manifest variables
data.fib <-fibtele[1:50,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[1:50,c(2,7)]
seg.fib$Salary = factor(seg.fib$Salary,
levels=c("<18k","25k","35k","45k",">45k"), ordered=TRUE)
# Pathmox Analysis
fib.pathmox = pls.pathmox(pls.fib,seg.fib,signif=0.5,
deep=1,size=0.01,n.node=10)
# }
Run the code above in your browser using DataLab