How to find what events cluster together? I have a data set that looks at a five-year timespan of peoples' lives and indicates if specific events have occurred (Divorce, Birth of Child, Health Shock, etc.). 

# Sample data in R
n &lt;- 100
set.seed(1337)
exampleFrame &lt;- as.data.frame(cbind(1:n,replicate(7, sample(0:1,n, TRUE))))
colnames(exampleFrame) &lt;- c('Person',paste(rep("Event",7),1:7, sep = ''))


First thing I did was simply show a correlation matrix.

cor(exampleFrame)


And it gives an idea of what items follow each other, so next I ran a logistic regression to see how events are likely to improve odds of occurring together.

glm(Event1 ~ . - Person,family = binomial(link = 'logit'), data = exampleFrame)


And this is interesting, but I feel like I'm missing something more compelling. Am I chasing a phantom? Does anyone know a better way to demonstrate which life events occur together in this five-year span?
It's just a simple idea but you could calculate the conditional probabilities of an event given another:

library(plyr)

condProbEvents &lt;- function(d) {
  ldply(colnames(d), function(col1) {
    t(ldply(colnames(d), function(col2) {
      nrow(d[d[,col1] &amp; d[,col2],]) / nrow(d[d[,col2],]) # p(col1|col2)
    }))
  })
}


This gives you values which are easy to interpret, e.g. for p(divorce|marriage): "X% of the people who had a marriage also had a divorce"