Il s'agit de la table avec de nombreuses lignes, mais pour simplifier le problème...
dt1 <-data.frame(col1=c("C,Y,M","B,C,M,A"),col2=c("B,E,M","B,A,G"),col3=c("2","10"))
col1 col2 col3
1 C,Y,M B,E,M 2
2 B,C,M,A B,F,G 10
Donc ce que j'essaie de faire est
1. chaque chaîne de chaque colonne doit être appariée, mais si une chaîne commune est présente, elle est ignorée, par exemple C avec B, C avec E mais pas C avec M car M est présent dans les deux colonnes de cette ligne et de même Y avec B, Y avec E encore une fois pas avec M.
2. Leurs valeurs correspondantes comme col3
le tableau de sortie
dt2 <- data.frame(col1 =c("C","C","Y","Y","C","C","M","M","A","A"),col2 = c("B","E","B","E","F","G","F","G","F","G"),col3=c("2","2","2","2","10","10","10","10","10","10"))
col1 col2 col3
1 C B 2
2 C E 2
3 Y B 2
4 Y E 2
5 C F 10
6 C G 10
7 M F 10
8 M G 10
9 A F 10
10 A G 10