Olá.
Nesse exemplo simples, como faríamos para remover as combinações reciprocas? Nesse experimento 2-1 (linha 1) significa a mesma cosa que 1-2 (linha 3), assim apenas um deles deve ser mantido. O mesmo vale para as demais combinações.
Admito que a solução que encontrei não é muito elegante, mas não consegui achar mais nada que funcionasse. O mutate() está criando colunas temporárias em que o menor dos elementos do par está sempre na coluna tmp1; aí é só filtrar as linhas distintas e descartar o que não queremos.