Em R, tenho o seguinte dataframe com a coluna "overlap" listando linhas que têm valores sobrepostos em alguma outra coluna.
df <- data.frame(overlap = c("1,2,3", "1,2,3", "1,2,3,4", "3,4",
"5,6", "5,6,7", "6,7",
"8,9", "8,9,10", "9,10",
"11,12,13", "11,12,13",
"11,12,13,14", "13,14",
"15,16", "15,16,17", "16,17",
"18,19", "18,19,20", "19,20"))
df
overlap
1 1,2,3
2 1,2,3
3 1,2,3,4
4 3,4
5 5,6
6 5,6,7
7 6,7
8 8,9
9 8,9,10
10 9,10
11 11,12,13
12 11,12,13
13 11,12,13,14
14 13,14
15 15,16
16 15,16,17
17 16,17
18 18,19
19 18,19,20
20 19,20
Gostaria de identificar linhas com valores comuns, mesmo que esses valores não estejam em todas as linhas, e então manter apenas 1 das linhas. Por exemplo, as linhas 1-4 contêm o conjunto combinado 1,2,3,4 e eu gostaria de manter apenas uma dessas linhas. Se mantivermos a primeira linha, o df resultante seria:
1 1,2,3
5 5,6
8 8,9
11 11,12,13
15 15,16
18 18,19
Pesquisei muitas outras soluções aqui e nenhuma inclui comprimentos de linhas desiguais, o que é vital, pois os dados completos podem ter linhas com dezenas de valores.