Handling missing values in MCA

missMDA imputes the disjunctive data table in such a way that the imputed values will not have any weight on the results of MCA. Thus missMDA returns a completed disjunctive data table that can be analysed with the function MCA of FactoMineR, using the argument tab.disj.

Video to handle missing values in MCA

Here is the video, don't hesitate to put it in full screen:

Steps and lines of code

  1. estimate the number of dimensions used in the reconstruction formula with the estim_ncpMCA function
  2. impute the disjunctive data table with the imputeMCA function using the number of dimensions previously calculated (by default, 2 dimensions are chosen); this step impute the disjuntive matrix used in MCA
  3. perform the MCA on the completed disjunctive matrix using the MCA function of the FactoMineR package, and the tab.disj argument

Example library(missMDA)
data(vnf)
nb = estim_ncpMCA(vnf,ncp.max=5)
tab.disj.comp = imputeMCA(vnf, ncp=4)$tab.disj
res.mca = MCA(vnf,tab.disj=tab.disj.comp)