Как построить диапазон данных со временем в формате чч: мм: сс.000 в R? - PullRequest
2 голосов
/ 26 июля 2010

У меня есть набор данных, которые должны быть нанесены (1M строк) с R .Столбец времени (столбец 1) имеет формат чч: мм: сс.000.Я хотел бы построить график во временном диапазоне, скажем, с 08:05:00 до 09:00:00.Как мне это сделать?Я искал в Интернете и не мог найти способ правильно установить xlim.

Вот краткий пример данных.Столбец 1 - время, Столбец 2, 3, 4 .. будет на оси Y.07: 51: 19.553,10.785,0.000,0.392,1.512,1.527,1.553,1.560,2.838

08: 05: 00.661, -1.555,0.000,0.041,0.310,0.314,0.321,0.327,1.474

08: 06: 58.250,30.781,0.000,0.093,0.156,0.160,0.168,0.173,1.411

08: 30: 02.506, -0.002,0.000,0.052,0.120,0.123,0.132, 0,137,1,361

09: 05: 00,997, -1,802,0,0,0,032,0,078,0,080,0,087,0,090,1,258

10: 05: 00,661, -1,555,0.000,0,041, 0.310,0.314,0.321,0.327,1.474

Заранее благодарим за помощь.

Ответы [ 2 ]

3 голосов
/ 26 июля 2010

Вы действительно хотите использовать подходящий класс временных рядов, например zoo или xts

Подмножество, построение графика, ... затемприходи бесплатно.Начните с превосходной документации zoo , прежде чем, возможно, переключитесь на xts для еще большей производительности и поднабора.

Теперь, миллион строк - это слишком много, так как вы получите большеданные, чем пиксели - но, по крайней мере, это даст вам возможность обобщить ваши данные.

Вот краткая иллюстрация:

> options(digits.sec=3)      ## important: turn on milli-sec via print()
> library(xts)
Loading required package: zoo
> X <- xts(cumsum(rnorm(100)), order.by=Sys.time()+cumsum(runif(100)/10))
> plot(X)
1 голос
/ 26 июля 2010

Чтобы изменить символьный вектор на объект «дата и время», пригодится объект POSIXlt (ct), функция strptime().Вот короткий пример того, как это делается.

dtm <-  strptime(c("1.1.2010 11:35"), format =  "%d.%m.%Y %H:%M", tz = "CET")
...