Otra alternativa... > library(data.table) > lstData <- Map(as.data.frame, w.list) > Data <- rbindlist(lstData) > Data a b c 1: 1 41 X 2: 1 42 X 3: 1 43 X 4: 1 44 X 5: 1 45 X 6: 11 71 Z 7: 11 72 Z 8: 11 73 Z 9: 11 74 Z 10: 11 75 Z >
Saludos, Carlos Ortega www.qualityexcellence.es El 29 de enero de 2015, 13:22, Isidro Hidalgo <ihida...@jccm.es> escribió: > mapply(c, w.list[[1]], w.list[[2]]) > > Si tienes más listas, simplemente las pones a continuación de la última y > mapply te las une igual... > Un saludo. > > Isidro Hidalgo Arellano > Observatorio Regional de Empleo > Consejería de Empleo y Economía > http://www.jccm.es > > > -----Mensaje original----- > > De: R-help-es [mailto:r-help-es-boun...@r-project.org] En nombre de > > Jorge I Velez > > Enviado el: jueves, 29 de enero de 2015 13:08 > > Para: Jesus Herranz > > CC: R-help-es > > Asunto: Re: [R-es] Listas Recursivas > > > > Hola Jesus, > > > > Intenta lo siguiente, donde "x" es tu "w.list": > > > > R> unlist(sapply(x, '[', 'a')) > > a a > > 1 11 > > R> unlist(sapply(x, '[', 'b')) > > b1 b2 b3 b4 b5 b1 b2 b3 b4 b5 > > 41 42 43 44 45 71 72 73 74 75 > > R> unlist(sapply(x, '[', 'c')) > > c c > > "X" "Z" > > > > Saludos, > > Jorge.- > > > > > > 2015-01-29 22:37 GMT+11:00 Jesus Herranz <jesus.herr...@imdea.org>: > > > > > 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]] > > > > > > > > > _______________________________________________ > > > R-help-es mailing list > > > R-help-es@r-project.org > > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > > > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es