local.models: PLS-PM for global and local models

View source: R/local.models.R

local.modelsR Documentation

PLS-PM for global and local models

Description

Calculates PLS-PM for global and local models from a given partition

Usage

  local.models(pls, y, Y = NULL)

Arguments

pls

An object of class "plspm"

y

One object of the following classes: "rebus", "integer", or "factor", that provides the class partitions.

Y

Optional dataset (matrix or data frame) used when argument dataset=NULL inside pls.

Details

local.models calculates PLS-PM for the global model (i.e. over all observations) as well as PLS-PM for local models (i.e. observations of different partitions).

When y is an object of class "rebus", local.models is applied to the classes obtained from the REBUS algorithm.

When y is an integer vector or a factor, the values or levels are assumed to represent the group to which each observation belongs. In this case, the function local.models calculates PLS-PM for the global model, as well as PLS-PM for each group (local models).

When the object pls does not contain a data matrix (i.e. pls$data=NULL), the user must provide the data matrix or data frame in Y.

The original parameters modes, scheme, scaled, tol, and iter from the object pls are taken.

Value

An object of class "local.models", basically a list of length k+1, where k is the number of classes.

glob.model

PLS-PM of the global model

loc.model.1

PLS-PM of segment (class) 1

loc.model.2

PLS-PM of segment (class) 2

loc.model.k

PLS-PM of segment (class) k

Note

Each element of the list is an object of class "plspm". Thus, in order to examine the results for each local model, it is necessary to use the summary function.

Author(s)

Laura Trinchera, Gaston Sanchez

See Also

rebus.pls

Examples

## Not run: 
## Example of REBUS PLS with simulated data

# load simdata
data("simdata", package='plspm')

# Calculate global plspm
sim_inner = matrix(c(0,0,0,0,0,0,1,1,0), 3, 3, byrow=TRUE)
dimnames(sim_inner) = list(c("Price", "Quality", "Satisfaction"),
                           c("Price", "Quality", "Satisfaction"))
sim_outer = list(c(1,2,3,4,5), c(6,7,8,9,10), c(11,12,13))
sim_mod = c("A", "A", "A")  # reflective indicators
sim_global = plspm(simdata, sim_inner,
                   sim_outer, modes=sim_mod)
sim_global

## Then compute cluster analysis on residuals of global model
sim_clus = res.clus(sim_global)

## To complete REBUS, run iterative algorithm
rebus_sim = it.reb(sim_global, sim_clus, nk=2,
                   stop.crit=0.005, iter.max=100)

## You can also compute complete outputs
## for local models by running:
local_rebus = local.models(sim_global, rebus_sim)

# Display plspm summary for first local model
summary(local_rebus$loc.model.1)

## End(Not run)

plspm documentation built on March 31, 2023, 11:54 p.m.