# How to cluster individuals based on a set of variables with multiple responses?

I collected data on foods that people avoid and the reasons why they do so via a questionnaire.

Here is an overview of the data:

  participants  eggs   alcohol              meat
1           p1  <NA>      <NA>              <NA>
2           p2 vegan      <NA>             vegan
3           p3 vegan  religion vegan & regligion
4           p4  <NA> donotlike              <NA>


As you can see, each person can potentially avoid no (participant 1), one (participant 4), or multiple foods (participants 2 and 3). Also, each food can be avoided for one or multiple reasons (f.ex. participant 3 doesn’t eat meat because he is vegan but also because of his religion).

For my research, my goal is to find patterns in these data that would coherently group people who avoid the same foods for the same reasons. Ideally, I would like participants 2 and 3 to have a high degree of similarity, because they both avoid eggs and meats as vegans. But I would also like participant 3 to be close to other participants who only avoid alcohol and meat because of their religion but who are not vegan.

I am familiar with multivariate exploratory techniques and clustering but it is the first time that I have to deal with variables that can take multiple responses (say the variable meat can take both the value „vegan“ and „religion“). I have found other posts asking somewhat similar questions but I could not find how to apply the advice to my problem.

How would you approach this problem?