Version 5 (modified by 10 years ago) (diff) | ,
---|
tolBasis
Introducción
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 reimplementados 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 queWeekly
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 tipoW(n)
. Nótese queMondays
coincide con el fechadoWeekly
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)
...
Cocientes de polinomios de retardos en R (clase Ratio)
...