# Clustering Survey Responses Based on Dichotomous Responses

I have a set of about ten questions that I would like to use to create groupings from. The responses are all dichotomous (responses are in the form of 1 or 2 where 1 and 2 represent differences in preference discovered through qualitative research).

The questions, were provided in the form:

Which describes you best:
1. I prefer apples
2. I prefer pears


So far, I've looked at latent class analysis (challenging to interpret and not consistently reproducible), linear discriminant analysis, kmeans clustering (not consistently reproducible), and multiple correspondence analysis (MCA provided the most interpret-able results, but I'm unclear IF or how one could classify respondents using the results).

What would be the most reasonable clustering method to use?

If you want to play around with my data feel free to do so (n=799):

dat <- read.csv("http://www.bertelsen.ca/media/stackoverflow/cluster.csv")

• the data no longer works – baxx Sep 23 '19 at 21:25

So, if I got you right you want to cluster 799 respondents on the basis of 10 nominal dichotomous variables? One way is to try hierarchical clustering. Recode each dichotomous variable into a pair of dummy (1 vs 0) variables and then compute Dice (= Sorensen) coefficient between 799 objects based on those 20 dummies. Then cluster; I'd recommend complete linkage method (especially do avoid Ward or centroid methods in you case). Hierarchical clustering is generally used for up to 300 or so objects while you have more, but, because your features are few and just dichotomous, there many objects are expected to be identical, thus the actual sample of different entities to combine will not be great.

Besides hierarchical clustering there are a number of other, more recent clustering techniques, specially tailored for large number of objects. For example two-step cluster (this method uses log-likelihood distance for nominal variables). It can take nominal variables.

P.S. I analysed your data. Hierarchical clustering described above led to 2 or 3 cluster solution (as suggested by silhouette index and cophenetic correlation, respectively). Two-step clustering with BIC-based automatic detection of the number of clusters gave 2 cluster solution. When 2 cluster solutions from hierarchical method and two-step method were compared, however, they appeared to agree only for 77% of objects, that was a bit dissapointing and might indicate toward 3 cluster solution as potentially better.

• What method did you use with hclust()?, I can't seem to get anything less than 5 clusters. Although with mediod clustering I can get it down to three... making sense of it however has proven challenging. – Brandon Bertelsen Jan 21 '12 at 16:04
• I'm not R user. I used SPSS, where I performed hierarchical procedure exactly the way I described. I saved 20- through 2-cluster solutions and compared them with silhouette statistic, which showed that 2-3 clusters were most reasonable. Other settings may yield other results, of course. Clusters in your data are far not clear-cut, so I think you can't escape comparing several solutions for interpretability in order to choose one. – ttnphns Jan 21 '12 at 16:43

Have you tried a Rasch analysis to look at the item and respondent fits? You could have one or more "problem" items or respondents that could be causing issues with your analysis. Respondent fits could show you where natural breaks fall between respondent clusters.

Update: having a quick look at your data in Winsteps, items B, F, and H seem to be very similar. Items D and E are similar. Items C and I look similar. Does this have any meaning to you? I have a person map as well as a text file - do you have somewhere I can send this to you? Caveat - this was a quick Rasch examination of the data and I haven't done any cleaning. However, convergence was quick - 6 iterations. :)

• I'm not familiar with Rasch analysis. But my email is: my first name @ my lastname .ca and yes, B/F/H speak to a willingness towards complexity/change, D/E are tied by philosophy, C/I speak to how much one might care for others. – Brandon Bertelsen Jan 21 '12 at 16:10
• That is nice evidence that the Rasch model has picked up the theoretical functioning of the questionnaire. :) I'm about to email you the person fits data from my home email address, so it will have a foo@paradise.net.nz pattern. I'll put some details in the email. – Michelle Jan 21 '12 at 17:35