Gabriel Trujillo Paucar
2013-Jan-23 01:05 UTC
[R-es] Eliminar varias filas de un data.frame pero que a la vez estan en una lista
Saludos!! Tenga una consulta: Tengo un conjunto de datos como los que siguen: ##############################################a= data.frame(sp=c("sp1","sp2","sp3","sp4"),M1=c(1,0,0,0),M2=c(0,1,0,0),M3=c(0,0,1,0),M4=c(0,0,0,1),row.names=c("A","B","C","D")) #### ##############################################A partir de esto genero otros "3"data.frames", los que al final voy a formar una lista con ellos ###################################################b=a[-1,]c=a[-2,]d=a[-3,] e=list(b,c,d)####################################################### Quisiera poder eliminar por ejemplo la primera fila de cada uno de los data.frames que conforman mi objeto de tipo lista "e"y no de la forma e[[1]][-1,] porque de esta forma tendria que hacerlo manualmente, estoy buscando otra manera para poder colocarlo en una funcion ya que la mayoria de mis datos de origen son como el objeto "e" que acabo de generar, solo que no tienen "3" data.frame sino "100" a mas, estaba usando el lapply, que me ha funcionado con otras funciones para aplicar a cada data.frame de mi lista, pero en este caso no me sale, lo coloco de esta forma: lapply(e, [-1,]) pero me sale mensaje de error Agradesco de antemano por su ayuda Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768 [[alternative HTML version deleted]]
Jorge I Velez
2013-Jan-23 01:11 UTC
[R-es] Eliminar varias filas de un data.frame pero que a la vez estan en una lista
Hola Gabriel, Una forma seria lapply(e, function(x) x[-1,]) En ?lapply puedes encontrar mas informacion. Por cierto, desactiva por favor las opciones HTML de tu correo electronico. Tus mensajes son dificiles de leer porque no hay espacios horizontales ni verticales. Saludos, Jorge.- 2013/1/23 Gabriel Trujillo Paucar <>> > Saludos!! > Tenga una consulta: > Tengo un conjunto de datos como los que siguen: > ##############################################a> data.frame(sp=c("sp1","sp2","sp3","sp4"),M1=c(1,0,0,0),M2=c(0,1,0,0),M3=c(0,0,1,0),M4=c(0,0,0,1),row.names=c("A","B","C","D")) > #### ##############################################A partir de esto genero > otros "3"data.frames", los que al final voy a formar una lista con ellos > ###################################################b=a[-1,]c=a[-2,]d=a[-3,] > e=list(b,c,d)####################################################### > Quisiera poder eliminar por ejemplo la primera fila de cada uno de los > data.frames que conforman mi objeto de tipo lista "e"y no de la forma > e[[1]][-1,] porque de esta forma tendria que hacerlo manualmente, estoy > buscando otra manera para poder colocarlo en una funcion ya que la mayoria > de mis datos de origen son como el objeto "e" que acabo de generar, solo > que no tienen "3" data.frame sino "100" a mas, estaba usando el lapply, que > me ha funcionado con otras funciones para aplicar a cada data.frame de mi > lista, pero en este caso no me sale, lo coloco de esta forma: lapply(e, > [-1,]) pero me sale mensaje de error > Agradesco de antemano por su ayuda > > > > Gabriel Antonio Trujillo Paucar > Estudiante de Biologia > 997603768 > > > [[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]]
Gabriel Trujillo Paucar
2013-Jan-23 16:16 UTC
[R-es] Eliminar varias filas de un data.frame pero que a la vez estan en una lista
Gracias por la ayuda Jorge. Tengo una ultima consulta Quisiera poder sumar columnas de un data.frame pero solo algunas seleccionadas, por ejemplo de la siguiente lista "e" que contiene 3 data.frames: a=data.frame(M1=c(1,0,0,0,0),M2=c(0,1,0,0,0),M3=c(0,0,0,1,0),M4=c(0,0,0,0,1),M5=c(0,0,0,0,1),row.names=c("A","B","C","D","E")) b=a[-1,] c=a[-2,] d=a[-3,] e=list(b,c,d) Me gustaria poder por ejemplo sumar solo las columnas de la segunda y tercera fila y colocarlos en una sola fila esta sumatoria de cada data.frame, obteniendo finalmente una lista con 3 data.frame pero ya no con 5 filas, sino con 4 , y en la cual una de esas 4 filas es la sumatoria de las 2. Lo podria hacer manualmente creando nuevos data.frames pero mis matrices que realmente uso son mas grandes con varios data.frame, y necesito usar este procedimiento para ingresarlo a una funcion. Agradesco de antemano por su ayuda Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768 From: jorgeivanvelez en gmail.com Date: Wed, 23 Jan 2013 12:11:32 +1100 Subject: Re: [R-es] Eliminar varias filas de un data.frame pero que a la vez estan en una lista To: gabriel_enter en hotmail.com CC: r-help-es en r-project.org Hola Gabriel, Una forma seria lapply(e, function(x) x[-1,]) En ?lapply puedes encontrar mas informacion. Por cierto, desactiva por favor las opciones HTML de tu correo electronico. Tus mensajes son dificiles de leer porque no hay espacios horizontales ni verticales. Saludos, Jorge.- 2013/1/23 Gabriel Trujillo Paucar <> Saludos!! Tenga una consulta: Tengo un conjunto de datos como los que siguen: ##############################################a= data.frame(sp=c("sp1","sp2","sp3","sp4"),M1=c(1,0,0,0),M2=c(0,1,0,0),M3=c(0,0,1,0),M4=c(0,0,0,1),row.names=c("A","B","C","D")) #### ##############################################A partir de esto genero otros "3"data.frames", los que al final voy a formar una lista con ellos ###################################################b=a[-1,]c=a[-2,]d=a[-3,] e=list(b,c,d)####################################################### Quisiera poder eliminar por ejemplo la primera fila de cada uno de los data.frames que conforman mi objeto de tipo lista "e"y no de la forma e[[1]][-1,] porque de esta forma tendria que hacerlo manualmente, estoy buscando otra manera para poder colocarlo en una funcion ya que la mayoria de mis datos de origen son como el objeto "e" que acabo de generar, solo que no tienen "3" data.frame sino "100" a mas, estaba usando el lapply, que me ha funcionado con otras funciones para aplicar a cada data.frame de mi lista, pero en este caso no me sale, lo coloco de esta forma: lapply(e, [-1,]) pero me sale mensaje de error Agradesco de antemano por su ayuda Gabriel Antonio Trujillo Paucar Estudiante de Biologia 997603768 [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es