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