Ошибка в xts, as.POSIXct «order.by» не может содержать «NA», «NaN» или «Inf» » - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть CSV-файл со столбцом даты и столбцом цены.

Я пытаюсь преобразовать его в формат xts, чтобы в конечном итоге я мог использовать функцию агрегатов.Однако, когда я пытаюсь запустить следующий код:

mydata_xts=xts(mydata, order.by=as.POSIXct(mydata$Date, format="%d%/m/%y %H:%M"))

Я получаю эту ошибку:

Error in xts(mydata, order.by = as.POSIXct(mydata$Date, format = "%d%/m/%y %H:%M"))

'order.by' cannot contain 'NA', 'NaN', or 'Inf'

Я уверен, что мои данные не пропали илинечеткие значения.Я подозреваю, что проблема в том, как Excel форматирует время.

В приложении приведена некоторая информация о моих данных.

  head(mydata)
            Date Price
1 1/03/2018 0:30 62.07
2 1/03/2018 1:00 60.35
3 1/03/2018 1:30 57.16
4 1/03/2018 2:00 55.88
5 1/03/2018 2:30 58.19
6 1/03/2018 3:00 60.63

summary(mydata)
                  Date          Price       
     1/03/2018 0:30 :   1   Min.   : 14.46  
     1/03/2018 1:00 :   1   1st Qu.: 61.98  
     1/03/2018 1:30 :   1   Median : 63.77  
     1/03/2018 10:00:   1   Mean   : 66.70  
     1/03/2018 10:30:   1   3rd Qu.: 69.86  
     1/03/2018 11:00:   1   Max.   :136.21  
     (Other)        :1481 

Вот мой файл Excel / csv: https://imgur.com/a/QofdEZl

1 Ответ

0 голосов
/ 11 декабря 2018

Вот несколько строк кода со случайно сгенерированными данными, чтобы помочь вам.Просто замените «db0» данными, импортированными из Excel (начните с нуля и на этот раз попробуйте удалить столбец Date)

library(xts) 
set.seed(97531) 
db0 <- as.data.frame(matrix(rnorm(1*1000, mean=5, sd=2), ncol=1)) 
date <- seq(from=as.POSIXct("2011-03-12 0:30", format = "%Y-%m-%d %H:%M"), length.out = nrow(db0), by = "30 min") 
dbt <- xts(db0, date) 
# index(dbt) 
apply.weekly(dbt, FUN = "sum")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...