Detects the underlying structure of a three-way array according to the Candecomp/Parafac (CP) model.
CP(data,laba,labb,labc)
Arguments
data: Array of order n by m by p or matrix or data.frame of order (nxmp) containing the matricized array (frontal slices)
laba: Optional vector of length n containing the labels of the A-mode entities
labb: Optional vector of length m containing the labels of the B-mode entities
labc: Optional vector of length p containing the labels of the C-mode entities
Returns
A list including the following components: - A: Component matrix for the A-mode
B: Component matrix for the B-mode
C: Component matrix for the C-mode
fit: Fit value expressed as a percentage
tripcos: Matrix of the triple cosines among pairs of components (to inspect degeneracy)
fitValues: Fit values expressed as a percentage upon convergence for all the runs of the CP algorithm (see CPfunc)
funcValues: Function values upon convergence for all the runs of the CP algorithm (see CPfunc)
cputime: Computation times for all the runs of the CP algorithm (see CPfunc)
iter: Numbers of iterations upon convergence for all the runs of the CP algorithm (see CPfunc)
fitA: Fit contributions for the A-mode entities (see CPfitpartitioning)
fitB: Fit contributions for the B-mode entities (see CPfitpartitioning)
fitC: Fit contributions for the C-mode entities (see CPfitpartitioning)
Bint: Bootstrap percentile interval of every element of B (see bootstrapCP)
Cint: Bootstrap percentile interval of every element of C (see bootstrapCP)
fpint: Bootstrap percentile interval for the goodness of fit index expressed as a percentage (see bootstrapCP)
Afull: Component matrix for the A-mode (full data) from split-half analysis (see splithalfCP)
As1: Component matrix for the A-mode (split n.1) from split-half analysis (see splithalfCP)
As2: Component matrix for the A-mode (split n.2) from split-half analysis (see splithalfCP)
Bfull: Component matrix for the B-mode (full data) from split-half analysis (see splithalfCP)
Bs1: Component matrix for the B-mode (split n.1) from split-half analysis (see splithalfCP)
Bs2: Component matrix for the B-mode (split n.2) from split-half analysis (see splithalfCP)
Cfull: Component matrix for the C-mode (full data) from split-half analysis (see splithalfCP)
Cs1: Component matrix for the C-mode (split n.1) from split-half analysis (see splithalfCP)
Cs2: Component matrix for the C-mode (split n.2) from split-half analysis (see splithalfCP)
A1: Component matrix for the A-mode from Principal Component Analysis of mean values (see pcamean)
B1: Component matrix for the B-mode from Principal Component Analysis of mean values (see pcamean)
C1: Component matrix for the C-mode from Principal Component Analysis of mean values (see pcamean)
A2: Component matrix for the A-mode from Principal Component Analysis of mean values (see pcamean)
B2: Component matrix for the B-mode from Principal Component Analysis of mean values (see pcamean)
C2: Component matrix for the C-mode from Principal Component Analysis of mean values (see pcamean)
laba: Vector of length n containing the labels of the A-mode entities
labb: Vector of length m containing the labels of the B-mode entities
labc: Vector of length P containing the labels of the C-mode entities
Xprep: Matrix of order (nxmp) containing the matricized array (frontal slices) after preprocessing used for the analysis
References
J.D. Carroll and J.J. Chang (1970). Analysis of individual differences in multidimensional scaling via an N-way generalization of 'Eckart-Young' decomposition. Psychometrika 35:283--319.
P. Giordani, H.A.L. Kiers, M.A. Del Ferraro (2014). Three-way component analysis using the R package ThreeWay. Journal of Statistical Software 57(7):1--23. http://www.jstatsoft.org/v57/i07/.
R.A. Harshman (1970). Foundations of the Parafac procedure: models and conditions for an 'explanatory' multi-mode factor analysis. UCLA Working Papers in Phonetics 16:1--84.
P.M. Kroonenberg (2008). Applied Multiway Data Analysis. Wiley, New Jersey.
data(TV)TVdata=TV[[1]]labSCALE=TV[[2]]labPROGRAM=TV[[3]]labSTUDENT=TV[[4]]# permutation of the modes so that the A-mode refers to studentsTVdata <- permnew(TVdata,16,15,30)TVdata <- permnew(TVdata,15,30,16)## Not run:# interactive CP analysisTVcp <- CP(TVdata, labSTUDENT, labSCALE, labPROGRAM)# interactive CP analysis (when labels are not available)TVcp <- CP(TVdata)## End(Not run)