Extract all the results (coordinates, squared cosine and contributions) for the active individuals/variable categories from Multiple Correspondence Analysis (MCA) outputs.

  • get_mca(): Extract the results for variables and individuals

  • get_mca_ind(): Extract the results for individuals only

  • get_mca_var(): Extract the results for variables only

For FactoMineR MCA results, get_mca() and get_mca_var() also support element = "quanti.sup" for quantitative supplementary variables and report a clean package-level error when that result is absent.

get_mca(res.mca, element = c("var", "ind", "mca.cor", "quanti.sup"))

get_mca_var(res.mca, element = c("var", "mca.cor", "quanti.sup"))

get_mca_ind(res.mca)

Arguments

res.mca

an object of class MCA [FactoMineR], acm [ade4], expoOutput/epMCA [ExPosition].

element

the element to subset from the output. Possible values are "var" for variables, "ind" for individuals, "mca.cor" for correlation between variables and principal dimensions, and "quanti.sup" for quantitative supplementary variables in FactoMineR MCA results.

Value

a list of matrices containing the results for the active individuals/variable categories including :

coord

coordinates for the individuals/variable categories

cos2

cos2 for the individuals/variable categories

contrib

contributions of the individuals/variable categories

inertia

inertia of the individuals/variable categories

Author

Alboukadel Kassambara alboukadel.kassambara@gmail.com

Examples

# \donttest{
# Multiple Correspondence Analysis
# ++++++++++++++++++++++++++++++
# Install and load FactoMineR to compute MCA
# install.packages("FactoMineR")
library("FactoMineR")
data(poison)
res.mca <- MCA(poison, quanti.sup = 1:2, graph = FALSE)
 
 # Extract the results for variable categories
 var <- get_mca_var(res.mca)
 print(var)
#> Multiple Correspondence Analysis Results for variables
#>  ===================================================
#>   Name       Description                  
#> 1 "$coord"   "Coordinates for categories" 
#> 2 "$cos2"    "Cos2 for categories"        
#> 3 "$contrib" "contributions of categories"
 head(var$coord) # coordinates of variables
#>                Dim 1       Dim 2       Dim 3        Dim 4       Dim 5
#> Sick_n    1.44402578 -0.04357250  0.03805397 -0.093176408  0.05979372
#> Sick_y   -0.64601153  0.01949296 -0.01702414  0.041684183 -0.02674982
#> F         0.03478097  0.38856006  0.35367418 -0.209329096 -0.71992057
#> M        -0.03606916 -0.40295117 -0.36677322  0.217082026  0.74658430
#> Nausea_n  0.24995909  0.09006351 -0.27552471  0.003029634 -0.07581724
#> Nausea_y -0.89568672 -0.32272758  0.98729687 -0.010856189  0.27167844
 head(var$cos2) # cos2 of variables
#>               Dim 1        Dim 2        Dim 3        Dim 4       Dim 5
#> Sick_n   0.93285731 0.0008493572 0.0006478363 3.883982e-03 0.001599471
#> Sick_y   0.93285731 0.0008493572 0.0006478363 3.883982e-03 0.001599471
#> F        0.00125452 0.1565707310 0.1297182185 4.544158e-02 0.537481392
#> M        0.00125452 0.1565707310 0.1297182185 4.544158e-02 0.537481392
#> Nausea_n 0.22388503 0.0290659795 0.2720246837 3.289028e-05 0.020597910
#> Nausea_y 0.22388503 0.0290659795 0.2720246837 3.289028e-05 0.020597910
 head(var$contrib) # contributions of variables
#>                Dim 1      Dim 2      Dim 3        Dim 4       Dim 5
#> Sick_n   14.00493008 0.03987261  0.0367811 0.2511791673  0.11463936
#> Sick_y    6.26536346 0.01783775  0.0164547 0.1123696275  0.05128603
#> F         0.01338208 5.22245977  5.2328771 2.0880456529 27.37164358
#> M         0.01387771 5.41588421  5.4266874 2.1653806771 28.38540816
#> Nausea_n  1.06142287 0.43089055  4.8771415 0.0006716942  0.46620623
#> Nausea_y  3.80343194 1.54402447 17.4764237 0.0024069041  1.67057233
 
 # Extract the results for individuals
 ind <- get_mca_ind(res.mca)
 print(ind)
#> Multiple Correspondence Analysis Results for individuals
#>  ===================================================
#>   Name       Description                       
#> 1 "$coord"   "Coordinates for the individuals" 
#> 2 "$cos2"    "Cos2 for the individuals"        
#> 3 "$contrib" "contributions of the individuals"
 head(ind$coord) # coordinates of individuals
#>        Dim 1        Dim 2       Dim 3       Dim 4      Dim 5
#> 1 -0.4450048 -0.114216819  0.30631680 -0.05619086 -0.2857812
#> 2  0.8777905  0.060321252  0.03763212 -0.13240060 -0.1807642
#> 3 -0.4507970  0.188522860 -0.10802178 -0.21759054 -0.2421866
#> 4  0.9151478  0.003217764  0.07078443 -0.10783301 -0.1614115
#> 5 -0.4599569  0.007569300 -0.28915573 -0.10317117  0.1720801
#> 6 -0.3930339 -0.652033420 -1.17958945  1.32819676 -0.5358638
 head(ind$cos2) # cos2 of individuals
#>        Dim 1        Dim 2       Dim 3      Dim 4      Dim 5
#> 1 0.32530703 2.143010e-02 0.154136555 0.00518675 0.13416251
#> 2 0.58801184 2.776803e-03 0.001080741 0.01337778 0.02493613
#> 3 0.48538429 8.488907e-02 0.027870606 0.11308468 0.14009546
#> 4 0.74564630 9.218472e-06 0.004460935 0.01035271 0.02319633
#> 5 0.49864491 1.350419e-04 0.197070106 0.02508845 0.06979403
#> 6 0.03423215 9.421366e-02 0.308344300 0.39093000 0.06363308
 head(ind$contrib) # contributions of individuals
#>       Dim 1        Dim 2       Dim 3       Dim 4     Dim 5
#> 1 1.0170795 0.2095097459  1.82247165  0.06985499 2.0025538
#> 2 3.9573754 0.0584365829  0.02750658  0.38783411 0.8012017
#> 3 1.0437283 0.5707844717  0.22664274  1.04748098 1.4381936
#> 4 4.3013812 0.0001662848  0.09731832  0.25725842 0.6388307
#> 5 1.0865750 0.0009201435  1.62398773  0.23549560 0.7260694
#> 6 0.7933878 6.8278476824 27.02594638 39.02931694 7.0408618
 
 # You can also use the function get_mca()
 get_mca(res.mca, "ind") # Results for individuals
#> Multiple Correspondence Analysis Results for individuals
#>  ===================================================
#>   Name       Description                       
#> 1 "$coord"   "Coordinates for the individuals" 
#> 2 "$cos2"    "Cos2 for the individuals"        
#> 3 "$contrib" "contributions of the individuals"
 get_mca(res.mca, "var") # Results for variable categories
#> Multiple Correspondence Analysis Results for variables
#>  ===================================================
#>   Name       Description                  
#> 1 "$coord"   "Coordinates for categories" 
#> 2 "$cos2"    "Cos2 for categories"        
#> 3 "$contrib" "contributions of categories"
 quanti.sup <- get_mca(res.mca, "quanti.sup")
 head(quanti.sup$coord) # coordinates of quantitative supplementary variables
#>             Dim 1       Dim 2       Dim 3       Dim 4       Dim 5
#> Age  -0.008478288 -0.04116798 -0.23486616  0.13211667 -0.15096523
#> Time -0.858978644 -0.04113998 -0.02009036 -0.07346635 -0.04671424
 # }