J'ai une trame de données qui ressemble à ceci:La formation d'une matrice de co-occurence d'une trame de données
id val
1 a
1 b
2 a
2 c
2 d
3 a
3 a
penser à chaque ligne comme une étiquette, val, qui a été donné à une observation avec un id .
Ce que je veux finalement arriver à est une matrice « cooccurrence » qui ressemble à quelque chose comme ça où je reçois un compte de combien de fois chaque lettre apparaît dans le même identifiant les uns avec les autres lettres:
a b c d
a 1 1 1 1
b 1 0 0 0
c 1 0 0 1
d 1 0 1 0
Je me suis foutu le cerveau à la recherche de moyens de le faire, mais je suis resté vide jusqu'à présent. Des indices? De préférence en utilisant des outils tidyverse, mais ouvert à d'autres options aussi bien à ce stade.
EDIT: les solutions à la question liée en tant que doublon possible ne fonctionnent pas dans ce cas. Je ne sais pas pourquoi, mais je soupçonne que cela a à voir avec cette question ayant un cadre de données avec 3 colonnes.
double possible de [Création matrice de co-occurrence] (https://stackoverflow.com/questions/13281303/creating-co-occurrence-matrix) – missuse
Cette question a 5 ans, alors j'espère qu'il y a une solution plus simple maintenant. J'ai essayé 2 ou 3 des solutions là et aucun d'eux ne fonctionne, donc ma question est différente (peut-être parce qu'il manque une troisième colonne?) –
J'ai juste noté que ma solution originale est très semblable à @ d.b, ainsi Je l'ai changé pour ajouter de la valeur. – useR