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

Carlos J. Gil Bellosta cgb en datanalytics.com
Mie Ene 12 13:05:56 CET 2011


Hola...

Abundando en la solución de Olivier, usando el paquete reshape y en
una única línea,

idata <- data.frame( date = rep( letters[1:4], each = 3 ), area = 1:12 )
idata <- cast( idata, date ~ ., c(sum, length) )

Un saludo,

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

El día 12 de enero de 2011 12:47, Paco Pastor <paco en ceam.es> escribió:
> Gracias Olivier, tu solución me ha funcionado perfectamente. Ahora voy con
> la estadística :-))
>
> Gracias también a Carlos
>
> El 12/01/2011 12:07, Olivier Nuñez escribió:
>>
>> Paco,
>>
>> según entiendo, y de acuerdo con tu objetivo final,
>> lo suyo sería más bien agregar los datos de la serie de incendios (nº de
>> incendio al día y area diario quemado) y luego adjuntar la serie de
>> temperatura.
>> Algo así cómo,
>>
>> idatos=read.csv("prova.csv", header=TRUE, sep=",") # Lectura datos
>> incendios
>> idatos=cbind(idatos,N=1) # para contar el nº de incendios diario
>>
>> incendios=aggregate(idatos[,c("area","N")],by=list(fecha=idatos$date),FUN=sum)
>>
>> y luego juntar la serie "incendios" con la serie de temperatura.
>> Un saludo. Olivier
>> -- ____________________________________
>>
>> Olivier G. Nuñez
>> Email: onunez en iberstat.es
>> Tel : +34 663 03 69 09
>> Web: http://www.iberstat.es
>>
>> ____________________________________
>>
>>
>>
>>
>> El 11/01/2011, a las 11:04, Paco Pastor escribió:
>>
>>> Hola a todos y gracias por vuestra ayuda.
>>>
>>> Con vuestros mensajes he podido crear la serie de tiempo regular. Copio
>>> a continuación lo que he hecho por si a alguien le sirve algún día.
>>>
>>> library(zoo)
>>>
>>> # Datos de incendios
>>>
>>> idatos=read.csv("prova.csv", header=T,sep=",")  # Lectura datos incendios
>>>
>>> ifecha=as.Date(idatos[,2],"%d/%m/%Y")           # Fecha incendios con
>>> formato as.Date
>>>
>>> idata=zoo(idatos[,3],ifecha)                              # Creación del
>>> fichero de datos fecha,area  (serie irregular)
>>>
>>> # Datos de temperatura
>>>
>>> tdatos=read.csv("7038.txt", header=T,sep=";")   # Lectura datos
>>> temperatura
>>>
>>> tfecha=as.Date(tdatos[,4],"%d/%m/%Y")           # Fecha incendios con
>>> formato as.Date
>>>
>>> tdata=zoo(tdatos[,5],tfecha)                               # Creación del
>>> fichero de datos fecha,temperatura  (serie regular)
>>>
>>> # Mezcla de los datos de las series (NA=0)
>>>
>>> final.datos=merge(tdata,idata,fill=0)
>>>
>>>
>>> Los datos de incendios tienen el formato:
>>>
>>> "idprov","date","area"
>>> 43,07/01/1968,600
>>> 3,28/03/1968,125
>>> 46,13/07/1968,190
>>> 16,27/07/1968,540
>>> 3,29/07/1968,300
>>> 46,02/08/1968,120
>>>
>>> y los de temperatura:
>>>
>>> 7038;LAGUNA DE TORREVIEJA;A;1/1/1968;18.0;8.0;--
>>> 7038;LAGUNA DE TORREVIEJA;A;2/1/1968;17.0;10.0;--
>>> 7038;LAGUNA DE TORREVIEJA;A;3/1/1968;21.0;10.0;--
>>> 7038;LAGUNA DE TORREVIEJA;A;4/1/1968;22.0;12.0;--
>>> 7038;LAGUNA DE TORREVIEJA;A;5/1/1968;21.0;10.0;--
>>> 7038;LAGUNA DE TORREVIEJA;A;6/1/1968;22.0;6.0;--
>>> 7038;LAGUNA DE TORREVIEJA;A;7/1/1968;20.0;13.0;--
>>>
>>> Ahora me surge un nuevo problema. Mis conocimientos de R y estadística
>>> son básicos (siendo generoso). Quiero buscar tendencias y correlaciones
>>> entre temperatura e incendios, por lo que he estado leyendo voy a probar
>>> algunas cosas con R pero me surge una duda sobre como tratar los datos.
>>>
>>> En el caso de la temperatura hay solamente un dato diario pero en los
>>> incendios puede haber, de hecho hay, días con varios datos (varios
>>> incendios en zonas diferentes con varios datos de área quemada). ¿Como
>>> debo tratar los datos? He pensado reestructurar los datos de incendio de
>>> forma que me queden dos valores diarios que serían número de incendios y
>>> área total quemada (la suma de todos los incendios de ese día). Así
>>> tendría dos variables para correlacionar con la temperatura. ¿Es
>>> correcto analizar los datos así?¿tiene R la capacidad de hacer estos
>>> análisis sin dividir los datos en dos subconjuntos? Supongo que mezclar
>>> la serie de datos de temperatura con la de incendios puede darme
>>> problemas cuando tenga dos o más registros de incendios en un mismo días.
>>>
>>> Bueno, gracias de antemano por vuestra ayuda y perdonad si estoy
>>> abusando de la lista con tanta pregunta que quizá no es exactamente de R.
>>>
>>> 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
>>>
>>>
>>>
>>>
>>>
>>>    [[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
>>
>>
>>
>
> --
> -----------
> 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
>



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