7 votos

Introducción a las series temporales en R

Con la gran ayuda de este foro, he podido ponerme en marcha con algunos análisis básicos de series temporales en R. En este momento, mis necesidades son principalmente de series temporales univariantes.

Esta es mi pregunta:

Puedo leer los datos diarios de la base de datos en un marco de datos. Tengo dos columnas, la fecha que es entendida por R como POSIXct y la segunda que es el valor de interés y numérico. ¿Cuál es la mejor manera, la más directa, de convertir esto en un objeto ts en el que R entienda las fechas de inicio/fin y represente las observaciones diarias dinámicamente? Me parece que no debería ser necesario (al coaccionar mi objeto a un objeto ts) decirle manualmente las fechas de inicio y fin cuando el marco de datos ya lo tiene.

Por algún contexto, he sido capaz de agregar otros datos de diario a semanal, pero me encuentro haciendo cosas que sólo parecen largas e innecesarias considerando que R ya entiende mis datos crudos como tiempo. Como se puede ver, soy nuevo en R y en las series de tiempo en R, pero me imagino que ya que R es tan poderoso, probablemente hay una manera bastante fácil de evitar mis problemas.

0 votos

Ya conoces el tutorial de stat.pitt.edu/stoffer/tsa2/R_time_series_quick_fix.htm ? Es cierto que acompaña a otro paquete/libro, pero puede haber algún potencial de transferencia.

0 votos

Gracias por la ayuda. He visto esto y creo que es fantástico. He editado mi pregunta para centrarme en cómo leer en una serie temporal univariante. Principalmente, si tengo las fechas de mis datos diarios, ¿cómo puedo construir una serie temporal univariante en R de forma dinámica? He probado algunos métodos pero parece que incluyen la fecha como otra variable cuando sólo me gustaría usarla como referencia para las fechas de inicio/fin. Lo siento, soy nuevo en R y estoy tratando de entender esto.

3voto

Anders Sandvig Puntos 7964

Parece que necesitas el paquete xts. Cree su serie de tiempo utilizando

install.packages('xts')
library(xts)
X = xts(coredata(DF[,2]), order.by=DF[,1])

Así podrá manipular sus datos fácilmente.

to.weekly(X)  
to.monthly(X)

Tenga en cuenta que entonces manipulará objetos xts y no ts. Pero no se preocupe, puede volver a ts siempre que lo necesite.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X