[R-es] Borrar cada fila 400

Jesús Para Fernández j.para.fernandez en hotmail.com
Mar Nov 17 19:29:34 CET 2015


Vale, con as.matrix lo consigo. 

es poner un mean(as.matrix(1:20,1:20)) y lo obtengo. 

Ahora lo bonito es como hacerlo para los valores que quiera, isn usar un bucle for, sino un apply, o un tapply...

> From: j.para.fernandez en hotmail.com
> To: cof en qualityexcellence.es
> Date: Tue, 17 Nov 2015 19:17:30 +0100
> CC: r-help-es en r-project.org
> Subject: Re: [R-es] Borrar cada fila 400
> 
> Gracias Carlos una vez más, pero no es exactamente lo que quiero
> 
> Con colMeans estas calculando por columnas, pero yo quiero que calcule asi:
> 
> mean(datos[1:20,1:20]), pero claro, para toda la secuencia.
> 
> 
> mean(datos[1:20,1:20]) me devuelve el error-> Error in datos[1:2, 1:2] : object of type 'closure' is not subsettable
> 
> 
> 
> 
> 
> 
> Date: Tue, 17 Nov 2015 18:34:59 +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.
> Indicas con unos indices el trozo que quieres, lo seleccionas (df_df_reg) y sobre él calculas medias por fila o por columna. R tiene funciones específicas para este cálculo.
> 
> #---------------------------
> n_row <- 400
> n_col <- 500
> df_mat <- matrix(rnorm(n_row * n_col), nrow=n_row, ncol=n_col)
> df_df <- as.data.frame(df_mat)
> 
> n_row_ini <- 1 
> n_row_end <- 20
> n_col_ini <- 1
> n_col_end <- 20
> 
> df_df_reg <- df_df[n_row_ini:n_row_end, n_col_ini:n_col_end ]
> colMeans ( df_df_reg, na.rm=TRUE )
> rowMeans ( df_df_reg, na.rm=TRUE )
> #---------------------------
> 
> 
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
> 
> 
> El 17 de noviembre de 2015, 18:20, Jesús Para Fernández <j.para.fernandez en hotmail.com> escribió:
> 
> 
> 
> 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
>  		 	   		  
> 
> 
> -- 
> Saludos,
> Carlos Ortega
> www.qualityexcellence.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
 		 	   		  
	[[alternative HTML version deleted]]



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