Hola a todos/as: Tengo la siguiente duda: Construyo una lista de tamaño 2, del siguiente modo: miLista<-list() miLista[[1]]<-list(nombre="Ana", apellido1="Pérez", apellido2="Sánchez") miLista[[2]]<-list(nombre="Carlos", apellido1="Núñez", apellido2="Sierra") Le aplico la función turnoLaboratorio: miResul<-lapply(miLista, turnoLaboratorio) Sobre el resultado (miResul) quiero aplicar la función booleana "ViernesLibre", pero resulta que para utilizar lapply tengo que indicar el índice del "sub-elemento" de la lista en el cual me encuentro. Por ejemplo, para el primer elemento: x = lapply(miResul[[1]], ViernesLibre) La pregunta es: ¿Hay alguna manera de hacer este apply en conjunto, sin tener que ir elemento a elemento?. Gracias de antemano. Y perdón por mi ignorancia!! Un saludo. Ana [[alternative HTML version deleted]]
Hola, ¿Puedes o bien dar detalles de la función "turnoLaboratorio" o del tipo de objeto que obtienes en "miResul"? Saludos, Carlos Ortega www.qualityexcellence.es El 27 de febrero de 2012 20:33, Ana Pérez V. <anapv78@yahoo.es> escribió:> > Hola a todos/as: > > Tengo la siguiente duda: > > Construyo una lista de tamaño 2, del siguiente modo: > > miLista<-list() > miLista[[1]]<-list(nombre="Ana", apellido1="Pérez", apellido2="Sánchez") > miLista[[2]]<-list(nombre="Carlos", apellido1="Núñez", apellido2="Sierra") > > Le aplico la función turnoLaboratorio: > > miResul<-lapply(miLista, turnoLaboratorio) > > Sobre el resultado (miResul) quiero aplicar la función booleana > "ViernesLibre", > pero resulta que para utilizar lapply tengo que indicar el índice del > "sub-elemento" de la lista en el cual me encuentro. Por ejemplo, para el > primer elemento: > > x = lapply(miResul[[1]], ViernesLibre) > > La pregunta es: ¿Hay alguna manera de hacer este apply en conjunto, > sin tener que ir elemento a elemento?. > > Gracias de antemano. Y perdón por mi ignorancia!! > > Un saludo. > Ana > > > [[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]]
Hola Ana, Podrias por favor enviarnos la funcion? Gracias, Jorge.- 2012/2/27 Ana Pérez V. <>> > Hola a todos/as: > > Tengo la siguiente duda: > > Construyo una lista de tamaño 2, del siguiente modo: > > miLista<-list() > miLista[[1]]<-list(nombre="Ana", apellido1="Pérez", apellido2="Sánchez") > miLista[[2]]<-list(nombre="Carlos", apellido1="Núñez", apellido2="Sierra") > > Le aplico la función turnoLaboratorio: > > miResul<-lapply(miLista, turnoLaboratorio) > > Sobre el resultado (miResul) quiero aplicar la función booleana > "ViernesLibre", > pero resulta que para utilizar lapply tengo que indicar el índice del > "sub-elemento" de la lista en el cual me encuentro. Por ejemplo, para el > primer elemento: > > x = lapply(miResul[[1]], ViernesLibre) > > La pregunta es: ¿Hay alguna manera de hacer este apply en conjunto, > sin tener que ir elemento a elemento?. > > Gracias de antemano. Y perdón por mi ignorancia!! > > Un saludo. > Ana > > > [[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]]
Hola lapply(miResul, function(x) lapply(x, ViernesLibre)) debería hacer lo que quieres. También es posible que merezca la pena devolver los resultados de turnoLaboratorio en otra estructura, como un data.frame. Un saludo Gregorio R. Serrano El 27 de febrero de 2012 20:33, Ana Pérez V. <anapv78@yahoo.es> escribió:> > Hola a todos/as: > > Tengo la siguiente duda: > > Construyo una lista de tamaño 2, del siguiente modo: > > miLista<-list() > miLista[[1]]<-list(nombre="Ana", apellido1="Pérez", apellido2="Sánchez") > miLista[[2]]<-list(nombre="Carlos", apellido1="Núñez", apellido2="Sierra") > > Le aplico la función turnoLaboratorio: > > miResul<-lapply(miLista, turnoLaboratorio) > > Sobre el resultado (miResul) quiero aplicar la función booleana > "ViernesLibre", > pero resulta que para utilizar lapply tengo que indicar el índice del > "sub-elemento" de la lista en el cual me encuentro. Por ejemplo, para el > primer elemento: > > x = lapply(miResul[[1]], ViernesLibre) > > La pregunta es: ¿Hay alguna manera de hacer este apply en conjunto, > sin tener que ir elemento a elemento?. > > Gracias de antemano. Y perdón por mi ignorancia!! > > Un saludo. > Ana > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Dr. Gregorio R. Serrano Dpto. Economía Cuantitativa (UCM) Voz:+34 91394 2361 Twitter: @grserrano_ http://www.grserrano.es [[alternative HTML version deleted]]
Hola: Gracias a todos. He probado la opción que me sugería Gregorio y ha funcionado. Un saludo. Ana --- El lun, 27/2/12, Gregorio R. Serrano <grserrano@ccee.ucm.es> escribió: De: Gregorio R. Serrano <grserrano@ccee.ucm.es> Asunto: Re: [R-es] Duda lapply Para: "Ana Pérez V." <anapv78@yahoo.es> CC: "r-help-es@r-project.org" <r-help-es@r-project.org> Fecha: lunes, 27 de febrero, 2012 20:52 Hola lapply(miResul, function(x) lapply(x, ViernesLibre)) debería hacer lo que quieres. También es posible que merezca la pena devolver los resultados de turnoLaboratorio en otra estructura, como un data.frame. Un saludo Gregorio R. Serrano El 27 de febrero de 2012 20:33, Ana Pérez V. <anapv78@yahoo.es> escribió: Hola a todos/as: Tengo la siguiente duda: Construyo una lista de tamaño 2, del siguiente modo: miLista<-list() miLista[[1]]<-list(nombre="Ana", apellido1="Pérez", apellido2="Sánchez") miLista[[2]]<-list(nombre="Carlos", apellido1="Núñez", apellido2="Sierra") Le aplico la función turnoLaboratorio: miResul<-lapply(miLista, turnoLaboratorio) Sobre el resultado (miResul) quiero aplicar la función booleana "ViernesLibre", pero resulta que para utilizar lapply tengo que indicar el índice del "sub-elemento" de la lista en el cual me encuentro. Por ejemplo, para el primer elemento: x = lapply(miResul[[1]], ViernesLibre) La pregunta es: ¿Hay alguna manera de hacer este apply en conjunto, sin tener que ir elemento a elemento?. Gracias de antemano. Y perdón por mi ignorancia!! Un saludo. Ana [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es -- Dr. Gregorio R. Serrano Dpto. Economía Cuantitativa (UCM) Voz:+34 91394 2361 Twitter: @grserrano_ http://www.grserrano.es [[alternative HTML version deleted]]