[R-es] Eliminar varias filas de un data.frame pero que a la vez estan en una lista

Gabriel Trujillo Paucar gabriel_enter en hotmail.com
Mie Ene 23 17:16:29 CET 2013


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 		 	   		  


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