Bonjour,

Je fais appel à vous pour m'aider à réaliser une opération sur des données que je vais vous expliquer ci après.
Dans le tableau que je veux analyser, j'ai plusieurs familles (ici dans l'exemples 5 famillies : aa, bb, cc, dd, ee) qui comporte deux enfants (noms des enfants dans la colonne ind). Chaque enfant a un diagnostique 1,2,3...


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
ind= c("A1", "A2", "C4", "D8", "D9", "A7", "E8", "A9", "Z7", "I8")
fam= c("aa", "aa", "bb", "bb", "cc", "cc", "dd", "dd", "ee", "ee")
diag= c(1,1,1,2,2,1,2,2, 2,3)
 
data.frame(ind, fam, diag)
   ind fam diag
1   A1  aa    1
2   A2  aa    1
3   C4  bb    1
4   D8  bb    2
5   D9  cc    2
6   A7  cc    1
7   E8  dd    2
8   A9  dd    2
9   Z7  ee    2
10  I8  ee    3
J'aimerai pouvoir calculer le nombre de famille ayant


- deux enfants avec le diagnostique 1,
- deux enfants avec le diagnostique 2....
- un enfant avec le diagnostique 1 et un enfant avec le diagnostique 2
- un enfant avec le diagnostique 1 et un enfant avec le diagnostique 3


et ainsi de suite avec les autres types de combinaison de diagnostique

J'aimerai également que le code puisse être adapté aux familles qui auraient également plus de deux enfants ou aux cas où il y aurait plus de 3 diagnostiques différents

J'ai réussi a compter le nombre de famille "différentes" selon le diagnostique quand il n'y a qu'un enfant (avec group_by(diagnosis) et count() de Tydiverse, mais je n'arrive pas à saisir comment faire quand il y a deux enfants ou plus car les combinaison que je veux voir sont dans la même variable.

J'imagine qu'une idée serait de reformater les données en ajoutant de nouvelles variables diagnosis pour chaque enfants, mais après plusieurs tentatives, je n'ai pas trouvé la bonne piste

Quelqu'un aurait une idée pour m'aider à faire cette opération,

Merci d'avance,

Aline