SerieIndiceSimple <- function(SerieValores, ValorPeriodoBase) { SerieIndice <- (SerieValores/ValorPeriodoBase)*100 SerieIndice } ####################### EnlaceSeries <- function(SerieAntigua, SerieNueva) { longitud <- length(SerieAntigua) denominador <- SerieAntigua[longitud] NuevaSerieAntigua <- (SerieAntigua/denominador)*100 SerieEnlazada <- c(NuevaSerieAntigua[1:(longitud-1)], SerieNueva) SerieEnlazada } ####################### CambioBase <- function(SerieNumeroIndice, IndiceNuevaBase) { NuevaSerieNumeroIndice <- (SerieNumeroIndice/IndiceNuevaBase)*100 NuevaSerieNumeroIndice } ####################### Deflactacion <- function(PreciosActuales, Deflactor) { PreciosConstantes <- (PreciosActuales/Deflactor)*100 PreciosConstantes } ####################### IndiceCompuesto <- function(SeriesNumerosIndicesSimples, Ponderaciones) { # se supone que SeriesNumerosIndicesSimples es una matriz donde se tiene en cada fila la serie de números índices correspondientes a una magnitud en concreto # por tanto, el número de filas coincide con el número de magnitudes (y éste a su vez con la longitud del vector Ponderaciones) Denominador <- sum(Ponderaciones) dimensiones <- dim(SeriesNumerosIndicesSimples) filas <- dimensiones[1] columnas <- dimensiones[2] IndiceCompuesto <- array(0, c(1,columnas)) for (i in 1:columnas) { Numerador <- 0 for (j in 1:filas) { Numerador <- Ponderaciones[j] * SeriesNumerosIndicesSimples[j,i] + Numerador } IndiceCompuesto[i] <- Numerador/Denominador } IndiceCompuesto } ####################### TMV <- function(valorinicial, valorfinal, periodo) { cociente <- valorfinal/valorinicial raiz <- cociente^(1/periodo) tmv <- raiz - 1 tmv }