El recuento del número de veces que se produce la combinación de eventos en las columnas del marco de datos

Tengo un marco de datos y quiero calcular el número de veces que ocurre cada combinación de eventos en dos columnas (en cualquier orden).

Por ejemplo digamos que tengo

df <- data.frame('x' = c('a', 'a', 'b', 'c', 'c', 'c'), 
                 'y' = c('b', 'c', 'c', 'a', 'a', 'b'))

Asi que

x y  
a b  
a c  
b c  
c a  
c a  
c a  
c b

a yb ocurrir juntos una vez (1ª fila),a yc 4 veces (filas 2, 4, 5, 6) yb yc dos veces (3ª y 7ª filas), así que me gustaría volver

x-y num  
a-b 1  
a-c 4  
b-c 2  

¿Espero que esto tenga sentido? Gracias por adelantado

Respuestas a la pregunta(1)

Su respuesta a la pregunta