# How do I appropriately examine the dimensionality of binary data?

I have 72 binary variables and, at a theoretical level, I am trying to identify groups of variables that seem to vary together. In practice, I am struggling with how to analyze this data properly. I am using R and the psych package. Here is what I have tried and what the outcomes were:

1. Estimated a tetrachoric correlation matrix (ran without problem)
2. Estimated MSA (relatively strong values, ran without problem)
3. Ran parallel analysis to identify how many factors to extract (ran without problem)
4. EFA using fa() to estimate factors (non-positive definite matrix and strangely high RMSEA)
5. Tried different factor counts, smoothing/unsmoothing, estimation methods, rotations methods, and removing variables (problems persisted)
6. Tried to focus instead on eBIC (always returned as NULL in output)
7. EFA using (inappropriately) Pearson correlations (RMSEA behaved)

From looking at other questions and answers on here, I am now aware that tetrachoric matrices can be problematic like this. However, I don't know what to do with that information. Accept the problems as a limitation and move forward? Conduct a different type of analysis?

I considered IRT as is recommended, but am unaware of an exploratory way to conduct IRT analyses.

I understand that most of my options are imperfect. My goal is to find an analysis that is at least arguably appropriate for binary variables and that will inform the ways in which I group these variables in my theorizing.

Given this, my questions are:

1. Can I trust EFA on a tetrachoric matrix despite problematic output?
2. Can I somehow recover the lost eBIC value and use that?
3. Is exploratory IRT possible/desirable?
4. Are there other analyses, in R, that can be used to examine the dimensionality of binary data?

I appreciate all feedback! I love learning about data analysis and hearing about how I can improve.

• If by "examine dimensionality" you seek to reduce dimensions and even maybe to make sense of them then PCA will suffice. PCA is ok with binary data. It your aim is factor analysis which models latent features as what generate the actual data - it is more problematic with binary data. stats.stackexchange.com/q/16331/3277 Dec 21 '20 at 21:04

The R package TAM offers a wrapper function tam.fa for conveniently conducting IRT-based EFA (using MML approach implemented in TAM; not extending towards other IRT packages). Have a look at the manual ?tam.fa to get the basic idea.