2012-07-10 17 views
5

Tengo una serie de valores tomados cada hora durante un año. ¿Es posible crear un objeto de serie temporal que conserve los valores de hora y año?Uso de R: ¿Cómo creo un objeto de serie temporal con fechas?

Mi código utiliza los valores de la columna 1 de stockprices, pero no utiliza la fecha:

stockprices.ts <- ts(stockprices[,1],start=1, freq=168) 

Respuesta

16

Usted no proporciona una muestra de sus datos, pero hay un montón de otras respuestas en SO (here for example) que cubre esta pregunta. Yo uso xts para mi trabajo de serie de tiempo, aunque hay otras buenas opciones.

Suponiendo que sus datos sean dos columnas, es posible que haya una trama de datos cargado a través de read.table:

> stockprices <- data.frame(prices=c(1.1,2.2,3.3), 
       timestamps=c('2011-01-05 11:00','2011-01-05 12:00','2011-01-05 13:00')) 
> stockprices 
    prices  timestamps 
1 1.1 2011-01-05 11:00 
2 2.2 2011-01-05 12:00 
3 3.3 2011-01-05 13:00 

usted puede convertir a XTS series de tiempo así:

> require(xts) 
> stockprices.ts <- xts(stockprices$prices, order.by=as.POSIXct(stockprices$timestamps)) 
> stockprices.ts 
        [,1] 
2011-01-05 11:00:00 1.1 
2011-01-05 12:00:00 2.2 
2011-01-05 13:00:00 3.3 
+2

¿Qué pasa si no había un tiempo, pero solo las fechas? –

+2

@ScottDavis: si quiere fechas simples, puede cambiar la llamada a la función 'as.POSIXct' a' as.Date' y debería funcionar igual. – khoxsey

Cuestiones relacionadas