2012-06-21 4 views
3

Данные выглядитзоопарк/XTS микросекунды чтения Issue

  Time Set1 Set2 
10:19:38.551629 16234 16236 
10:19:41.408010 16234 16236 
10:19:47.264204 16234 16236 

Я пытаюсь загрузить это в зоопарке.

orig <- read.zoo("~/sample.txt",sep="",header=TRUE,index.column=1,format="%H:%M:%S.%6f") 

Error in read.zoo("~/sample.txt", sep = "", header = TRUE, index.column = 1, : 
    index has 3 bad entries at data rows: 1 2 3 ... 

Я проверил все соответствующие сообщения 1. R issue with rounding milliseconds 2. Milliseconds puzzle when calling strptime in R 3. How to parse milliseconds in R?

Однако это не помогает. Любые предложения

+1

Обратите внимание, что ответы на все эти должности использовать 'формат =«% H: 'формат% OS'' или:% M = '% H:% M:% OS6'' – GSee

ответ

4

Вы хотите, чтобы индекс был таким классом времени, как POSIXct или POSIXlt. Кроме того, ваш аргумент format был не совсем прав. Попробуйте

read.zoo("~/sample.txt", header = TRUE, format="%H:%M:%OS", FUN=as.POSIXct) 

Который, для выборки данных, предоставленных, дает

read.zoo(text="   Time Set1 Set2 
10:19:38.551629 16234 16236 
10:19:41.408010 16234 16236 
10:19:47.264204 16234 16236 ", header = TRUE, format="%H:%M:%OS", FUN=as.POSIXct) 
#       Set1 Set2 
#2012-06-21 10:19:38.551629 16234 16236 
#2012-06-21 10:19:41.408010 16234 16236 
#2012-06-21 10:19:47.264204 16234 16236 
+1

Обратите внимание, что 'read.zoo (..., tz =" ")' или подобное, но с использованием 'tz =" GMT "', скажем, вызовет 'read.zoo 'по умолчанию POSIXct с указанным часовым поясом. –

+0

Set1 Set2 2012-06-22 10:19:38 16234 16236 2012-06-22 10:19:41 16234 16236 2012-06-22 10:19:47 16234 16236. Я также установил параметры (цифры = 6), но по-прежнему нет микросекундной метки времени в параметрах read.zoo – shoonya

+1

'(digits.secs = 6)'. Запустите это, тогда вы увидите микросекунды. – GSee