Learn R Programming

ThreeWay (version 1.1.4)

varimcoco: Varimax Rotation for Tucker3 and Tucker2

Description

Performs varimax rotation of the core and component matrix rotations to simple structure.

Usage

varimcoco(A, B, C, H, wa_rel, wb_rel, wc_rel, rot1, rot2, rot3, nanal)

Value

A list including the following components:

AS

Rotated component matrix for the A-mode

BT

Rotated component matrix for the B-mode

CU

Rotated component matrix for the C-mode

K

Rotated matricized core array (frontal slices)

S

Rotation matrix for the A-mode

T

Rotation matrix for the B-mode

U

Rotation matrix for the C-mode

f

Best solution for three-way orthomax function value

f1

Varimax value of H

f2a

Varimax value of AS

f2b

Varimax value of BT

f2c

Varimax value of CU

func

Function values upon convergence for all the runs of the orthomax algorithm

Arguments

A

Columnwise orthomornal component matrix for the A-mode

B

Columnwise orthomornal component matrix for the B-mode

C

Columnwise orthomornal component matrix for the C-mode

H

Matricized core array (frontal slices)

wa_rel

relative weight (>=0) for the simplicity of A

wb_rel

relative weight (>=0) for the simplicity of B

wc_rel

relative weight (>=0) for the simplicity of C

rot1

binary indicator (1 if the A-mode is rotated, 0 otherwise, default 1)

rot2

binary indicator (1 if the B-mode is rotated, 0 otherwise, default 1)

rot3

binary indicator (1 if the C-mode is rotated, 0 otherwise, default 1)

nanal

Number of random starts, default 5

Author

Maria Antonietta Del Ferraro mariaantonietta.delferraro@yahoo.it
Henk A.L. Kiers h.a.l.kiers@rug.nl
Paolo Giordani paolo.giordani@uniroma1.it

References

H.A.L. Kiers (1998). Joint orthomax rotation of the core and component matrices resulting from three-mode principal components analysis. Journal of Classification 15:245--263.

See Also

orthmax2, varim

Examples

Run this code
data(Bus)
# T3 solution
BusT3 <- T3funcrep(Bus, 7, 5, 37, 2, 2, 2, 0, 1e-6)
# Simplicity of A (with weight = 2.5), B (with weight = 2) and C (with weight = 1.5)
T3vmABC <- varimcoco(BusT3$A, BusT3$B, BusT3$C, BusT3$H, 2.5, 2, 1.5)
# Simplicity of only A (with weight = 2.5) and B (with weight = 2)
# rot3=0; the value of wc_rel (= 0) does not play an active role
T3vmAB <- varimcoco(BusT3$A, BusT3$B, BusT3$C, BusT3$H, 2.5, 2, 0, 1, 1, 0)
# simplicity repeatedly with different relative weights for A, B and C
T3vm <- list()
weight.a <- c(1, 3, 6)
weight.b <- c(0, 2, 5)
weight.c <- c(1, 4)
i <- 1
for (wa_rel in weight.a){
 for (wb_rel in weight.b){
  for (wc_rel in weight.c){
   T3vm[[i]] <- varimcoco(BusT3$A, BusT3$B, BusT3$C, 
    BusT3$H, wa_rel, wb_rel, wc_rel)
   i <- i+1
  }
 }
}

Run the code above in your browser using DataLab