Realice comparaciones de todos a todos sin pares entre dos vectores de caracteres desordenados - Lo opuesto a intersección - setdiff de todos a todos

DATOS DEL EJEMPLO

v1 <- c("E82391", "X2329323", "C239923", "E1211", "N23932", "F93249232", "X93201", "X9023111", "O92311", "9000F", "K9232932", "L9232932", "X02311111")
v2 <- c("L9232932", "C239923", "E1211", "E82391", "F93249232", "U82832")

PROBLEM

Quiero extraer solo aquellos elementos que están en uno de los vectores y no en el otro.

Entiendo quesetdiff no puede comparar dos vectores de caracteres desordenados y encontrar todas las diferencias entre los dos ..

Does, por ejemplo,%in% realizar comparaciones de todos contra todos los vectores de dos caracteres?

En este caso, funciona (aunque no informa los elementos que están env2 y no env1).

> v1[!v1 %in% v2]
[1] "X2329323"  "N23932"    "X93201"    "X9023111"  "O92311"    "9000F"     "K9232932"  "X02311111"

Otra forma es usar una función definida por el usuario llamadaoutersect como mostrado aquí que muestra todas las diferencias.

outersect <- function(x, y) {
  sort(c(x[!x%in%y],
         y[!y%in%x]))
}

outersect(v1,v2)

PREGUNT

¡Estoy realmente interesado en saber si hay funciones R que puedan realizar fácilmente comparaciones de todos a dos vectores de caracteres! La idea es mejorar realmente la legibilidad del código (especialmente cuando hay docenas de vectores que deben compararse entre sí).

¿Cuál es la forma más segura y eficiente de realizar comparaciones de todo a todos? Más específicamente, ¿hay una función en R que podría

Referencias.

Breyal, Tony. "outersect (): el opuesto de la función intersect () de R ", Noviembre de 2011. R-bloggers.

Respuestas a la pregunta(2)

Su respuesta a la pregunta