[R-es] Conversión de meses en ts(x)
Mauricio Monsalvo
m.monsalvo en gmail.com
Lun Ago 1 20:20:09 CEST 2016
Hola.
Tengo una problema con una transformación que hace ts que no logro entender
si debe preocuparme o no... porque no sé que hace. Tengo un objeto
> class(datos.ag)
"data.table" "data.frame"
> head(datos.ag)
Año MesNro Mes Valores Unidades Aportes CantLaboratorios CantSeg
CantProductos
1: 2014 1 Ene 357424644 612537 21407745 76 9
404
2: 2014 2 Feb 318919837 495443 20917489 78 8
398
3: 2014 3 Mar 339963350 584218 22119442 77 8
407
4: 2014 4 Abr 350679101 606382 23775092 76 8
411
5: 2014 5 May 488830529 814274 48437929 77 10
443
Mes es un factor. MesNro es el resultado de usar ifelse tal que "Ene" = 1,
"Feb" = 2, ..., "Dic" = 3, como puede verse:
> str(datos.ag)
Classes ‘data.table’ and 'data.frame': 30 obs. of 10 variables:
$ Año : int 2014 2014 2014 2014 2014 2014 2014 2014 2014 2014
...
$ MesNro : num 1 2 3 4 5 6 7 8 9 10 ...
$ Mes : Factor w/ 12 levels "Abr","Ago","Dic",..: 4 5 8 1 9 7
6 2 12 11 ...
Pero cuando creo una serie temporal:
> datos.ts <- ts(datos.ag, start=c(2014, 1), frequency = 12)
> datos.ts
Año MesNro Mes Valores Unidades Aportes CantLaboratorios
CantSeg CantProductos
Jan 2014 2014 1 4 357424644 612537 21407745 76
9 404
Feb 2014 2014 2 5 318919837 495443 20917489 78
8 398
Mar 2014 2014 3 8 339963350 584218 22119442 77
8 407
Apr 2014 2014 4 1 350679101 606382 23775092 76
8 411
May 2014 2014 5 9 488830529 814274 48437929 77
10 443
> str(datos.ts)
Time-Series [1:30, 1:10] from 2014 to 2016: 2014 2014 2014 2014 2014 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:10] "Año" "MesNro" "Mes" "Valores" ...
> class(datos.ts)
[1] "mts" "ts" "matrix"
La variable Mes ha sido convertida... a algo que parece una serie de
meses, pero que arranca en 4 y que no coincide con los meses en formato
int... Creo que simplemente debería obviarla, pero estoy intentando
aprender series de tiempo y me parece que hay algo de la lógica del objeto
ts que me voy a perder si no pregunto qué está sucediendo o qué estoy
haciendo mal.
Si pudiera entender qué sucede, tal vez podría utilizar directamente ese
factor Mes para crear la serie temporal.
Miré las referencias en https://cran.r-project.org/web/views/TimeSeries.html
pero resuelvo mi duda.
Muchas gracias.
--
Mauricio
)
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es