При использовании period.apply появляется ошибка «Ошибка в INDEX [1]! = 0: сравнение (2) возможно только для атомов c и типов списков». Что не так? - PullRequest
0 голосов
/ 28 апреля 2020

При попытке свернуть данные 1-минутного временного ряда в 2-минутные интервалы я получаю ошибку 'Ошибка в INDEX [1]! = 0: сравнение (2) возможно только для атомов c и типы списков . Я не уверен, как, почему это не работает или как это исправить. Я также попытался использовать «stats :: aggregate» и также получил сообщение об ошибке.

library(stats)
library(xts)
library(timeSeries)

# Create a 1 minute time sequence with some data
t <- timeSequence (from="2020-01-01 08:00:00",to="2020-01-01 08:10:00",by="1 min")
y <- data.frame(data1=1:11,data2=2:12)
tData <- as.xts(y,order.by=(t))

# Create a 2 minute time series that sums the 1 minute data for the time period
by <- timeSequence(from = start(tData),  to = end(tData), by = "2 min")

# Trying a couple of ways to aggregate this data, both of the following throw errors
# The next statement gets the error, "Error in INDEX[1] != 0 : comparison (2) is possible only for atomic and list types"
data1Sum <- period.apply(tData$data1,by,sum)

# The next statement gets the error "Error in aggregate.zoo(tData$data1, by, sum) : length(time(x)) == length(by[[1]]) is not TRUE"
testData <- timeSeries::aggregate(tData$data1,by,sum)
...