[R-es] Contar elementos en una lista

Guillermo.Vinue en uv.es Guillermo.Vinue en uv.es
Mar Oct 18 11:47:32 CEST 2011


Muchas gracias a los dos por la ayuda tan rápida.

Los comandos de Javi no me dan el resultado que necesito, me parece que
es porque los elementos de mi lista son de distinta longitud, sin
embargo, todo lo que comenta me parece una forma muy elegante de
intentar resolver el problema y que me servirá en futuros problemas con
listas, de hecho, la función do.call no la conocía.

Los comandos de Olivier sí que dan el resultado que quería.

Muchas gracias de nuevo a ambos por la ayuda.

Un saludo,

Guillermo

> Lo siguiente parece funcionar:
> 
>  > L=list(c("Pepe","Miguel","Enrique"),c("Miguel","Jose"),c 
> ("David","Pepe"))
>  > nombres=unique(unlist(L))
>  > nombres
> [1] "Pepe"    "Miguel"  "Enrique" "Jose"    "David"
>  >
>  > for(i in 1:length(nombres)) {
> + 	index=sapply(L, function(x) match(nombres[i],x,nomatch =0) > 0)
> + 	cat(nombres[i],"está en la(s) listas(s)",which(index),"\n")
> + 	}
> Pepe está en la(s) listas(s) 1 3
> Miguel está en la(s) listas(s) 1 2
> Enrique está en la(s) listas(s) 1
> Jose está en la(s) listas(s) 2
> David está en la(s) listas(s) 3
> --  
> ____________________________________
> 
> Olivier G. Nuñez
> Email: onunez en iberstat.es
> Tel : +34 663 03 69 09
> Web: http://www.iberstat.es
> 
> ____________________________________
> 
> 
> 
> 
> El 18/10/2011, a las 10:52, <Guillermo.Vinue en uv.es>  
> <Guillermo.Vinue en uv.es> escribió:
> 
> > está en el elemento 1 y 3
> 
> 
> 



Más información sobre la lista de distribución R-help-es