Rubén Coca
2016-Dec-06 20:49 UTC
[R-es] Calculo de índice de crecimiento respecto a periodo inicial
Hola a todos, Dado el siguiente código: library(tidyr); library(dplyr); library(TTR) meses <- seq(as.Date("2014/1/1"), by = "month", length.out = 24) Mercado <- runif(24, min = 1000, max = 3000) Competidor1 <- runif(24, min = 100, max = 300) Competidor2 <- runif(24, min = 500, max = 800) df <- data.frame(meses, Mercado, Competidor1, Competidor2) # Convierto el data frame a formato long df.long <- gather(df, Comp, Val, -meses) # Y mediante la funcion ROC calculo el crecimiento respecto al mismo periodo del año anterior df.long.var <- df.long %>% group_by(Comp) %>% mutate(Growth = ROC(Val, n = 12, type = "discrete")) Además, necesitaría conseguir una nueva columna para calcular el índice de crecimiento pero respecto al periodo inicial, es decir "2014/1/1". ¿Alguna idea / sugerencia? Muchas gracias! [[alternative HTML version deleted]]
Carlos Ortega
2016-Dec-07 17:00 UTC
[R-es] Calculo de índice de crecimiento respecto a periodo inicial
?Hola, Si estás calculando el porcentaje de cambio con respecto al 1-enero-2014, además de lo que pueda hacer ROC, lo puedes hacer a mano. #------------------------------------------------ df.long.var <- df.long %>% group_by(Comp) %>% mutate(Val_fix = (Val[1] - Val)/ Val[1] ) #------------------------------------------------ Saludos, Carlos Ortega www.qualityexcellence.es El 6 de diciembre de 2016, 21:49, Rubén Coca <ruben.coca en gmail.com> escribió:> Hola a todos, > Dado el siguiente código: > > library(tidyr); library(dplyr); library(TTR) > > meses <- seq(as.Date("2014/1/1"), by = "month", length.out = 24) > Mercado <- runif(24, min = 1000, max = 3000) > Competidor1 <- runif(24, min = 100, max = 300) > Competidor2 <- runif(24, min = 500, max = 800) > > df <- data.frame(meses, Mercado, Competidor1, Competidor2) > > # Convierto el data frame a formato long > df.long <- gather(df, Comp, Val, -meses) > > # Y mediante la funcion ROC calculo el crecimiento respecto al mismo > periodo del año anterior > df.long.var <- df.long %>% > group_by(Comp) %>% > mutate(Growth = ROC(Val, n = 12, type = "discrete")) > > Además, necesitaría conseguir una nueva columna para calcular el índice de > crecimiento pero respecto al periodo inicial, es decir "2014/1/1". > ¿Alguna idea / sugerencia? > > Muchas gracias! > > [[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]]