[R-es] Conversión de series de tiempo irregulares

Carlos J. Gil Bellosta cgb en datanalytics.com
Mie Ene 5 17:24:50 CET 2011


Bueno, el "merge" y la creación de los objetos de la clase "zoo" son
operaciones conmutativas...

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com

El día 5 de enero de 2011 17:13, Gregorio R. Serrano
<grserrano en ccee.ucm.es> escribió:
> Buenas.
>
> Cuando haces el merge, g no es un objeto de clase zoo, sino de clase Date,
> supongo que el merge de dos objetos de distinta clase es lo que hace que "no
> acabe de funcionar" (aunque una descripción más precisa del error sería de
> ayuda).
>
> Siguiendo con el ejemplo de Carlos Gil, al que añado la creación de objetos
> zoo, lo siguiente corre como se espera:
>
> z <- data.frame( v = 1:2, d = as.Date(c("1968-01-01", "2007-12-31")))
> g <- data.frame( d =  seq(min(z$d), max(z$d), by = 1) )
> g$vv <- rnorm(length(g$d))
>
> zzoo <- zoo(z$v, z$d)
> gzoo <- zoo(g$vv, g$d)
>
> kk <- merge( zzoo, gzoo, all = T )
>
> head(kk)
> tail(kk)
> class(kk) #zoo
>
>
> Un saludo
> Gregorio R. Serrano
>
> El 5 de enero de 2011 14:55, Paco Pastor <paco en ceam.es> escribió:
>
>> Saludos a todos
>>
>> Hace poco que estoy usando R y como era de esperar me asalta una duda.
>> Tengo unos datos que conforman una serie de datos irregular (son valores
>> diarios pero no para todos los días) que quiero relacionar con otra serie de
>> datos regular (esta sí con datos diarios completos). Por una parte tengo los
>> datos "irregulares" en formato:
>>
>> 1968-02-25  368
>> 1971-01-12  168
>> 1985-10-25  5400
>> .......
>>
>> y los datos regulares en fomato
>>
>> 1968-01-01    23
>> 1968-01-02    24
>> ........
>> 1985-12-31     16
>>
>> Supongo que para poder analizarlos conjuntamente los dos conjuntos de datos
>> deberán tener la misma longitud. Buscando por ahí he visto como extender la
>> serie de datos irregulares pero no exactamente como quiero:
>>
>> # Leo los datos "irregulares"
>> datos=read.csv("datos1_1968-2007.csv", header=T,sep=",")
>>
>> # Conversión en serie temporal discreta
>> fecha=as.POSIXct(strptime(as.character(datos[,2]),format="%d/%m/%Y"))
>> library(zoo)
>> data=zoo(datos[,3],fecha)
>>
>> Para hacer una prueba he creado una serie de datos temporales, solamente
>> con la fecha
>>
>> z <- zoo(1:2, as.Date(c("1968-01-01", "2007-12-31")))
>> g <- seq(as.Date(start(z)), as.Date(end(z)), by = 1)
>>
>> He probado a unir los datos con merge pero no acaba de funcionar
>>
>> kk=merge(g,data,all=TRUE)
>>
>>
>> Seguro que podéis ver algún error, probablemente de concepto. Os agradezco
>> cualquier ayuda.
>>
>> Saludos
>>
>> Paco
>>
>> --
>> -----------
>> Francisco Pastor
>> Meteorology department, Instituto Universitario CEAM-UMH
>> http://www.ceam.es
>> -----------
>> mail: paco en ceam.es
>> skype: paco.pastor.guzman
>> Researcher ID: http://www.researcherid.com/rid/B-8331-2008
>> Cosis profile: http://www.cosis.net/profile/francisco.pastor
>> -----------
>> Parque Tecnologico, C/ Charles R. Darwin, 14
>> 46980 PATERNA (Valencia), Spain
>> Tlf. 96 131 82 27 - Fax. 96 131 81 90
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>
>
>
> --
> Dr. Gregorio R. Serrano
> Dpto. Economía Cuantitativa (UCM)
> Voz:+34 91394 2361
> Fax:+34 91394 2591
> http://www.grserrano.es
>
>        [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>



Más información sobre la lista de distribución R-help-es