как вставить разрыв обратно во временной ряд, чтобы в результирующем временном ряду не было пропуска? - PullRequest
2 голосов
/ 19 января 2011

У нас есть данные о розничных продавцах, хранящиеся в базе данных. Если для одного товара нет продажи, то в базе данных нет строки для этого товара.Таким образом, после извлечения данных из базы данных в R, в результате временной ряд будет такой же разрыв.Есть ли способ удалить временной ряд в R (вставить обратно недостающие данные со значением 0)?

1 Ответ

5 голосов
/ 19 января 2011

Как показано только вчера, просто создайте вектор с желаемым таймфреймом и объедините.

# Your dataframe
DF <- data.frame(day = seq(as.POSIXlt("2011-01-17"),
                           as.POSIXlt("2011-02-14"),
                           by = "days")[seq(1, 30, by = 4)][-6],
                 value = c(5,5,7,8,4,6,5,6,9,8,6,6,4,6))

# new dataframe
full <- data.frame(day = seq(min(DF$day),max(DF$day),by = "days"),
                   value = 0)
# the big merge trick                   
merge(DF,full,all=T)

См. Также этот вопрос со вчерашнего дня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...