Search code examples
rprincipal-components

What does "argument to 'which' is not logical" mean in FactoMineR MCA?


I'm trying to run an MCA on a datatable using FactoMineR. It contains only 0/1 numerical columns, and its size is 200.000 * 20.

require(FactoMineR)
result <- MCA(data[, colnames, with=F], ncp = 3)

I get the following error :

Error in which(unlist(lapply(listModa, is.numeric))) : argument to 'which' is not logical

I didn't really know what to do with this error. Then I tried to turn every column to character, and everything worked. I thought it could be useful to someone else, and that maybe someone would be able to explain the error to me ;)

Cheers


Solution

  • It's difficult to tell without further input, but what you can do is:

    • Find the function where the error occurred (via traceback()),
    • Set a breakpoint and debug it:

      trace(tab.disjonctif, browser)
      

    I did the following (offline) to find the name of tab.disjonctif:

    • Found the package on the CRAN mirror on GitHub
    • Search for that particular expression that gives the error