Bootstrap validation of MCA, through the computation of the coordinates of supplementary variables for bootstrap replications of the data.

bootvalid_supvars(resmca, vars = NULL, axes = c(1,2), K = 30)

Arguments

resmca

object of class speMCA.

vars

a data frame of categorical supplementary variables. All these variables should be factors.

axes

numeric vector of length 2, specifying the components (axes) to plot. Default is c(1,2).

K

integer. Number of bootstrap replications (default is 30).

Details

The bootstrap technique is used here as an internal and non-parametric validation procedure of the results of a multiple correspondence analysis. For supplementary variables, only "partial bootstrap" is possible. The partial bootstrap does not compute new MCAs: it projects bootstrap replications of the initial data as supplementary elements of the MCA (see references for more details).

Value

A data frame with the following elements :

varcat

Names of the active categories

K

Indexes of the bootstrap replications

dim.x

Bootstrap coordinates on the first selected axis

dim.y

Bootstrap coordinates on the second selected axis

References

Lebart L. (2006). "Validation Techniques in Multiple Correspondence Analysis". In M. Greenacre et J. Blasius (eds), Multiple Correspondence Analysis and related techniques, Chapman and Hall/CRC, p.179-196.

Lebart L. (2007). "Which bootstrap for principal axes methods?". In P. Brito et al. (eds), Selected Contributions in Data Analysis and Classification, Springer, p.581-588.

Author

Nicolas Robette

Examples

data(Taste)
junk <- c("FrenchPop.NA", "Rap.NA", "Rock.NA", "Jazz.NA", "Classical.NA",
          "Comedy.NA", "Crime.NA", "Animation.NA", "SciFi.NA", "Love.NA", 
          "Musical.NA")
resmca <- speMCA(Taste[,1:11], excl = junk)
supvars <- Taste[,c("Gender", "Age", "Educ")]
bv <- bootvalid_supvars(resmca, supvars, K = 5)
str(bv)
#> 'data.frame':	45 obs. of  4 variables:
#>  $ varcat: Factor w/ 9 levels "Age.15-24","Age.25-49",..: 1 1 1 1 1 2 2 2 2 2 ...
#>  $ K     : int  1 2 3 4 5 1 2 3 4 5 ...
#>  $ dim.1 : num  0.481 0.463 0.47 0.543 0.559 ...
#>  $ dim.2 : num  0.609 0.736 0.789 0.746 0.673 ...