vectores varias tamaño graficas eliminar elementos datos contar comparar r vector

varias - ¿Cómo encontrar elementos comunes de múltiples vectores?



varias graficas en r (3)

Podría haber una forma más inteligente de hacerlo, pero

intersect(intersect(a,b),c)

hará el trabajo.

EDITAR: Más inteligente y más conveniente si tienes muchos argumentos:

Reduce(intersect, list(a,b,c))

¿Alguien puede decirme cómo encontrar los elementos comunes de múltiples vectores?

a <- c(1,3,5,7,9) b <- c(3,6,8,9,10) c <- c(2,3,4,5,7,9)

Quiero obtener los elementos comunes de los vectores anteriores (por ejemplo: 3 y 9)


Ya es una buena respuesta, pero hay otras maneras de hacerlo:

unique(c[c%in%a[a%in%b]])

o,

tst <- c(unique(a),unique(b),unique(c)) tst <- tst[duplicated(tst)] tst[duplicated(tst)]

Obviamente, puede omitir las llamadas unique si sabe que no hay valores repetidos dentro de a , b c .


intersect_all <- function(a,b,...){ all_data <- c(a,b,...) require(plyr) count_data<- length(list(a,b,...)) freq_dist <- count(all_data) intersect_data <- freq_dist[which(freq_dist$freq==count_data),"x"] intersect_data } intersect_all(a,b,c)

ACTUALIZAR EDITAR Un código más simple

intersect_all <- function(a,b,...){ Reduce(intersect, list(a,b,...)) } intersect_all(a,b,c)