= 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: {{{ #!perl 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). [[BR]] 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}}}. [[BR]] 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}}}. [[BR]] 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: {{{ #!perl 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. [[BR]] 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: {{{ #!perl 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) == ...