[R-es] Borrar cada fila 400

Jesús Para Fernández j.para.fernandez en hotmail.com
Mar Nov 17 18:20:54 CET 2015


La verad es que es un asolución sencilla pero muy eficaz. 

Ya con esta siguiente duda termino:

La matriz de cada csv es de 400x500, es decir, 400 filas y 500 columnas. Si quiero calcular la media de diferentes regiones del csv, por ejemplo la media de las 20 primeras filas y 20 primreas columnas, pero del que tiene los 50.000 registros, tomando el valor 1, como pued hacerlo??

He probado con tapply(datos,new,mean,na.rm=T) pero a parte de darme error no segmenta como quiero. 

Gracias

Date: Tue, 17 Nov 2015 16:45:03 +0100
Subject: Re: [R-es] Borrar cada fila 400
From: cof en qualityexcellence.es
To: j.para.fernandez en hotmail.com
CC: cgb en datanalytics.com; r-help-es en r-project.org

Hola,

Esta es una forma:

> DF <- data.frame(a=rnorm(1000))
> DF$new <- 1 +  floor(1:nrow(DF) / 400)
> unique(DF$new)
[1] 1 2 3


Saludos,
Carlos Ortega
www.qualityexcellence.es


El 17 de noviembre de 2015, 15:50, Jesús Para Fernández <j.para.fernandez en hotmail.com> escribió:
Entiendo la logica pero no veo el como hacerlo.



No se como implementar el 1+floor(1:nrow(datos)/400))



Gracias

Jesús



> Date: Tue, 17 Nov 2015 15:31:39 +0100

> Subject: Re: [R-es] Borrar cada fila 400

> From: cgb en datanalytics.com

> To: j.para.fernandez en hotmail.com

> CC: josea.bartolome en mineco.es; r-help-es en r-project.org

>

> 1 +  floor(1:nrow(datos) / 400)

>

> Pura aritmética, de nuevo.

>

> Un saludo,

>

> Carlos J. Gil Bellosta

> http://www.datanalytics.com

>

> El día 17 de noviembre de 2015, 15:28, Jesús Para Fernández

> <j.para.fernandez en hotmail.com> escribió:

> > Gracuas a todos!!!

> >

> > Por cierto, esta ya es de nota. Si quiero agregar una columna, y que cada 400 piezsa el valor se incremente en una unidad, es decir las 400 primeras, tendrian cada fila el valor 1. Las siguientes 400, 2, ....

> >

> > Lo he hecho con un for, pero va bastante lento:

> > k<-1

> > for(i in 1:length(datos[,1])){

> >

> > if(i%%400 == 0){k = k +1}

> > datos[i,9] <- k;

> >

> > }

> >

> >

> >> From: josea.bartolome en mineco.es

> >> To: j.para.fernandez en hotmail.com; r-help-es en r-project.org

> >> Subject: RE: [R-es] Borrar cada fila 400

> >> Date: Tue, 17 Nov 2015 14:22:14 +0000

> >>

> >> Prueba con:

> >>

> >> Datos[-seq(from = 400, to=50000, by = 400), ]

> >>

> >> No necesitas un buche, para eliminar las filas.

> >>

> >> Un cordial saludo.

> >>

> >> -----Mensaje original-----

> >> De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de Jesús Para Fernández

> >> Enviado el: Tuesday, November 17, 2015 3:15 PM

> >> Para: r-help-es en r-project.org

> >> Asunto: [R-es] Borrar cada fila 400

> >>

> >> Buenas, tengo un csv [csv final] con 50000 filas, que es uni�n de varios csv [csv particular].

> >>

> >> Cada csv [csv particular] tiene en la �ltima fila, la 400, una serie de valores que quiero eliminar, por lo que del [csv filan] quiero borrar la linea 400,800,1200,....

> >>

> >>

> >> Lo he intentado con un bucle for:

> >>

> >> for(i in 1:50000){

> >> if(i%%400 == 0) {datos[-i,]}

> >> }

> >>

> >>

> >> Pero no me funciona. Adem�s me han dicho que con apply puede ser mucho m�s eficiente el algoritmo. �Alguna idea?

> >>

> >> Gracias

> >>

> >>

> >>       [[alternative HTML version deleted]]

> >>

> >

> >         [[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



        [[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

-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es
 		 	   		  
	[[alternative HTML version deleted]]



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