[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