close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

tolBasis

Introducción

tolBasis es uno de los paquetes para R desarrollados para la integración con TOL. Véase Rprojects.

tolBasis es el paquete fundamental para la incorporación de TOL en R. Son los cimientos sobre los que se apoyan los desarrollos de TOL en R.

No necesita de una instalación de TOL para ser usado.

Incorpora los conceptos TOL a R: fechados, series temporales polinomios de retardos, etc.

Fechas en R (clases Date y POSIXt)

Las fechas en R ya disponen de un soporte compatible con TOL:

  • La clase "Date" para las fechas enteras (sin horas, minutos y segundos).
  • Las clases "POSIXct" y "POSIXlt" (derivadas de "POSIXt") para los instantes temporales en general (con horas, minutos y segundos).

Para ampliar el conjunto de funcionalidades con fechas, tolBasis se apoya en el paquete lubridate de R. Este paquete se carga automáticamnete con tolBasis.

Se incorpora una nueva función con el mismo nombre de la clase ("Date") a modo de constructora de fechas al estilo de TOL, es decir, indicando el año y opcionalmente el mes y el día.

Ejemplos:

Date(2012) # equivale a y2012 en TOL
Date(2015,5,12) # equivale a y2015m05d12 en TOL

Fechados en R (clase Dating)

Los fechados de TOL han sido parcialmente implementados en R, para poder dar un soporte a las series temporales con la misma concepción que en TOL.

Los fechados en R se implementan a través de una clase (S3) denominada "Dating".

Inicialmente sólo se han considerado los fechados con fechas enteras (sin horas, minutos y segundos).
Esta decisión se debe a varios motivos:

  • La mayor sencillez de la implementación usando sólo fechas (clase "Date" en R),
  • Las dificultades de usar instantes temporales, por la existencia de zonas horarias, cambios de hora, etc.
  • El uso más común de estos fechados (de fecha entera).

Los fechados más comunes ya están predefinidos:

  • Yearly, Monthly, Weekly, Daily.
    Nótese que Weekly en R se refiere a los domingos (por cómo se definen las semanas en R) y no a los lunes como ocurre en TOL.
  • Mondays, Tuesdays, Wednesdays, Thursdays, Fridays, Saturdays, Sundays.
    Corresponden a los timesets de TOL del tipo W(n). Nótese que Mondays coincide con el fechado Weekly en TOL.
  • Quarterly, HalfYearly.

Para el uso de los fechados en R, se incorporan algunos métodos, siguiendo la siguiente nomenclatura: "D" (de Dating) más el nombre de la función (en minúsculas):

  • Dbelong
  • Dseq
  • Dsucc
  • Dfloor
  • Dceiling
  • Dround
  • Ddiff

Hay disponible más información en la documentación del paquete en R.

Ejemplos:

Dsucc(Sys.Date(), Monthly, 1) # próximo mes
currYear <- Dfloor(Sys.Date(), Yearly) # año en curso
Dseq(currYear, dating=Monthly, len=12) # meses del año en curso

Series en R (clase Serie)

Las series temporales se reimplementan en R con un diseño similar al de TOL.

Las series temporales en R se implementan a través de una clase (S3) denominada "Serie" que se apoya en la clase "Dating".

Se descartaron las implementaciones existentes (clases "ts" o "xts") por no adecuarse a las necesidades de uso de las series en TOL.
Aunque sí se implementan mecanismos de conversión entre unas clases y otras (as.ts, as.xts, as.Serie, etc.) para facilitar el uso y la explotación de los resultados.

El constructor por defecto de las series temporales ("Serie") recibe: un vector de datos, un fechado y la fecha del primer dato de la serie.

Ejemplos:

Serie(rnorm(12), Monthly, Date(2015)) # constructor Serie
ts1 <- ts(1:10, frequency = 4, start = c(1959, 2)) # constructor ts
as.Serie(ts1) # conversión ts a Serie

Para el uso de las series temporales en R, se incorporan algunos métodos, siguiendo la siguiente nomenclatura: "S" (de Serie) más el nombre de la función (en minúsculas):

  • Sdating
  • Sfirst
  • Slast
  • Ssub
  • Sdates

Además se implementa el uso con series de los operadores aritméticos (+, -, *, /, ^) y el operador [ ].

Hay disponible más información en la documentación del paquete en R.

Ejemplos:

s <- Serie(rnorm(12), Monthly, Date(2015))
Ssub(s, Date(2015,6), Date(2015,8)) # datos de junio a agosto
Ssub(s, -3, -1) # últimos tres datos
Slast(s) # fecha del último dato
s[Slast(s)] # último dato

Polinomios de retardos en R (clase Polyn)

Los polinomios de retardos se implementan en R para su uso con las series temporales (clase "Serie").

Además permitirá la intercomunicación de este tipo de objetos con TOL. Véase la información correspondiente del paquete tolRlink.

Los polinomios de retardos en R se implementan a través de una clase (S3) denominada "Polyn" que se apoya internamente en la gestión de polinomios del paquete polynom.

Los dos polinomios elementales ya se encuentran implementados:

  • B: el operador de retardo (es un monomio de grado 1)
  • A: el operador de adelanto (es un monomio de grado -1). Nótese que se usa A en lugar de F como en TOL, ya que en R, esta variable está reservada para el valor binario falso.

Se implementa el uso con estos polinomios de los operadores aritméticos (+, -, *, /, ^), de los operadore de relación == y != y del operador [ ].

Además se incorpora el operador %:% (<Polyn> %:% <Serie> -> <Serie>) que permite aplicar polinomios de retardos a las series temporales.

Ejemplos:

(1+B)^2
pol <- (1-A)*(1+B)
as.character(pol, forward="F") # polinomio en formato TOL

Cocientes de polinomios de retardos en R (clase Ratio)

Los cocientes de polinomios de retardos se implementan en R para favorecer la intercomunicación con TOL.

Los cocientes de polinomios de retardos en R se implementan a través de otra clase (S3) denominada "Ratio" que se apoya en la clase "Polyn".

Los cocientes de polinomios pueden crearse naturalmente (mediante el operador /) o mediante el constructor de la clase:

Ejemplos:

(1-B)/(1+B)
Ratio(1, 1-B)

Para el uso de los cocientes de polinomios de retardos en R, se incorporan algunos métodos, siguiendo la siguiente nomenclatura: "R" (de Ratio) más el nombre de la función (en minúsculas):

  • Rnumerator
  • Rdenominator

Además se implementa el uso con estos cocientes de los operadores aritméticos (+, -, *, /, ^) y de los operadores de relación == y !=.

Last modified 8 years ago Last modified on Jan 27, 2017, 10:19:14 AM