[R-es] Listas Recursivas

Jesus Herranz jesus.herranz en imdea.org
Jue Ene 29 12:37:19 CET 2015


Hola

Tengo un análisis en el que como resultado obtengo una lista recursiva, es
decir, una lista cuyos componentes a su vez son listas. Son varias
iteraciones de una función que proporciona varios resultados de interés de
distinta naturaleza y por eso los uno en una lista. Las iteraciones son
hechas en paralelo, y los resultados de una función de este tipo suelen ser
empaquetados a su vez en una lista (Por ejemplo, ClusterApply del paquete
snow )

Bueno, esto es para poner en situación el problema, porque el tema es mucho
más general, y he tratado de sacarlo del contexto para que se pueda entender
mejor. Digamos que tengo lo siguiente: una lista que tiene 2 listas con los
mismos nombres de componentes (cada una de ellas serían los resultados de
una iteración). Lo que quiero es tener vectores separados para a, b y c. El
problema parece sencillo, pero no encuentro la forma de acceder bien a los
elementos de la lista; y con el “unlist” lo junta todo y lo convierte a
carácter, lo que no es muy útil. Al final, la única solución que he
encontrado es con un “for”, pero me gustaría hacerlo de otra forma.

Gracias 

 

w.list = list ( list ( a = 1  , b = 41:45 , c = c("X") ) ,

                list ( a = 11 , b = 71:75 , c = c("Z") ) )

w.list

 

a.all = NULL ; b.all = NULL; c.all = NULL

for ( i in 1:2 )

{ a.all = c ( a.all , w.list[[i]]$a )

  b.all = c ( b.all , w.list[[i]]$b )

  c.all = c ( c.all , w.list[[i]]$c )

}

a.all

b.all

c.all

 

 

 

 


	[[alternative HTML version deleted]]



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