Tengo un marco de datos de enteros que es un subconjunto de todos n elijo 3 combinaciones de 1 ... n. por ejemplo, para n = 5, que es algo así como:Eliminación de combinaciones duplicadas (independientemente del orden)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 1 2 4
[3,] 1 2 5
[4,] 1 3 4
[5,] 1 3 5
[6,] 1 4 5
[7,] 2 1 3
[8,] 2 1 4
[9,] 2 1 5
[10,] 2 3 4
[11,] 2 3 5
[12,] 2 4 5
[13,] 3 1 2
[14,] 3 1 4
[15,] 3 1 5
[16,] 3 2 4
[17,] 3 2 5
[18,] 3 4 5
[19,] 4 1 2
[20,] 4 1 3
[21,] 4 1 5
[22,] 4 2 3
[23,] 4 2 5
[24,] 4 3 5
[25,] 5 1 2
[26,] 5 1 3
[27,] 5 1 4
[28,] 5 2 3
[29,] 5 2 4
[30,] 5 3 4
Lo que me gustaría hacer es quitar todas las filas con combinaciones duplicados, independientemente del pedido. Por ejemplo, [1,] 1 2 3
es lo mismo que [1,] 2 1 3
es lo mismo que [1,] 3 1 2
.
unique
, duplicated
, & c. no parecen tener esto en cuenta. Además, estoy trabajando con una gran cantidad de datos (n es ~ 750), por lo que debería ser una operación bastante rápida. ¿Hay alguna función base o paquete que pueda hacer esto?
+1, corto y dulce. –
Perfecto, gracias! No pensé en eso. – seanimo
t (combn (c (1: 5), 3)) – aatrujillob