Crie uma matriz de co-ocorrência a partir de observações codificadas

Existe uma abordagem simples para converter um dataframe com dummies sobre se um aspecto está presente, para uma matriz de co-ocorrência contendo as contagens de dois aspectos co-ocorrendo?

Por exemplo. indo deste

X <- data.frame(rbind(c(1,0,1,0), c(0,1,1,0), c(0,1,1,1), c(0,0,1,0)))
X
  X1 X2 X3 X4
1  1  0  1  0
2  0  1  1  0
3  0  1  1  1
4  0  0  1  0

para isso

   X1 X2 X3 X4
X1  0  0  1  0
X2  0  0  2  1
X3  1  2  0  1
X4  0  1  1  0

questionAnswers(1)

yourAnswerToTheQuestion