Buenas, Estoy intentando caracterizar una curva de 180 puntos y sacar su vector de caracteristica: Punto de inicio, Máximo Minimo .... Para ello tengo un dataframe con las distintas curvas, de la forma siguiente: segundos valor curva 1 170 1 2 175 1 ...................................... 180 125 1 1 190 2 2 193 2 ..................................... Como puedo hacer para sacar el promedio de cada 10 segundos de la curva??? Gracias Jesús [[alternative HTML version deleted]]
Buenos dias, Jesús, Hay varias formas, pero te sugeriría trabajar con la función rollapply del paquete zoo. En R> require(zoo) R> ?rollapply podrás encontrar varios ejemplos. Espero sea de utilidad. Saludos cordiales, Jorge Velez.- 2016-07-15 7:31 GMT-05:00 Jesús Para Fernández <j.para.fernandez en hotmail.com>:> Buenas, > > Estoy intentando caracterizar una curva de 180 puntos y sacar su vector de > caracteristica: > > Punto de inicio, > Máximo > Minimo > .... > > Para ello tengo un dataframe con las distintas curvas, de la forma > siguiente: > > > segundos valor curva > 1 170 1 > 2 175 1 > ...................................... > 180 125 1 > 1 190 2 > 2 193 2 > ..................................... > > > Como puedo hacer para sacar el promedio de cada 10 segundos de la curva??? > > Gracias > Jesús > > [[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]]
library(plyr) tmp <- curvas tmp$grupo <- rep(rep(1:18, each = 10), times = numero_de_curvas) ddply(tmp, .(curva, grupo), media = mean(valor)) supuesto que se den ciertas condiciones (como que todas las curvas tienen 180 puntos). El 15 de julio de 2016, 14:31, Jesús Para Fernández < j.para.fernandez en hotmail.com> escribió:> Buenas, > > Estoy intentando caracterizar una curva de 180 puntos y sacar su vector de > caracteristica: > > Punto de inicio, > Máximo > Minimo > .... > > Para ello tengo un dataframe con las distintas curvas, de la forma > siguiente: > > > segundos valor curva > 1 170 1 > 2 175 1 > ...................................... > 180 125 1 > 1 190 2 > 2 193 2 > ..................................... > > > Como puedo hacer para sacar el promedio de cada 10 segundos de la curva??? > > Gracias > Jesús > > [[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]]
He probado con lo siguiente, pero me da un error, aunque creo que no estoy formando bien el data.frame medias<-as.data.frame(datos$valor,datos$curva,function(x){(rollaplly(x,10,mean,by=10)})) Algo esoty haciendo mal... From: jorgeivanvelez en gmail.com Date: Fri, 15 Jul 2016 07:34:42 -0500 Subject: Re: [R-es] Calcular media cada x tramos To: j.para.fernandez en hotmail.com CC: r-help-es en r-project.org Buenos dias, Jesús, Hay varias formas, pero te sugeriría trabajar con la función rollapply del paquete zoo. En R> require(zoo)R> ?rollapply podrás encontrar varios ejemplos. Espero sea de utilidad. Saludos cordiales,Jorge Velez.- 2016-07-15 7:31 GMT-05:00 Jesús Para Fernández <j.para.fernandez en hotmail.com>: Buenas, Estoy intentando caracterizar una curva de 180 puntos y sacar su vector de caracteristica: Punto de inicio, Máximo Minimo .... Para ello tengo un dataframe con las distintas curvas, de la forma siguiente: segundos valor curva 1 170 1 2 175 1 ...................................... 180 125 1 1 190 2 2 193 2 ..................................... Como puedo hacer para sacar el promedio de cada 10 segundos de la curva??? Gracias Jesús [[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]]
No, cada curva tiene su numero de valores variable... From: cgb en datanalytics.com Date: Fri, 15 Jul 2016 14:36:27 +0200 Subject: Re: [R-es] Calcular media cada x tramos To: j.para.fernandez en hotmail.com CC: r-help-es en r-project.org library(plyr) tmp <- curvastmp$grupo <- rep(rep(1:18, each = 10), times = numero_de_curvas)ddply(tmp, .(curva, grupo), media = mean(valor)) supuesto que se den ciertas condiciones (como que todas las curvas tienen 180 puntos). El 15 de julio de 2016, 14:31, Jesús Para Fernández <j.para.fernandez en hotmail.com> escribió: Buenas, Estoy intentando caracterizar una curva de 180 puntos y sacar su vector de caracteristica: Punto de inicio, Máximo Minimo .... Para ello tengo un dataframe con las distintas curvas, de la forma siguiente: segundos valor curva 1 170 1 2 175 1 ...................................... 180 125 1 1 190 2 2 193 2 ..................................... Como puedo hacer para sacar el promedio de cada 10 segundos de la curva??? Gracias Jesús [[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]]