Неявные пропущенные значения во временных рядах для вменения данных - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть данные нескольких временных рядов за 14 дней. Каждый день должен содержать 6 записей данных (т.е. сигналов). Каждый сигнал кодируется (от 1 до 6) в течение дня, однако иногда отсутствуют пропущенные сигналы - иногда даже настолько, что за один целый день ввод данных невозможен. Мои проблемы: (1) обнаружение отсутствия целого дня (2) вставка для каждого отсутствующего сигнала пустой строки, но с подсчитанными сигналами. (Представьте, что временной ряд имеет более двух переменных). Я много пробовал, но не нашел решения.

Например, предположим, что мои временные ряды выглядят так:

    problem = data.frame(Date = c("2019-11-28 19:45:51 CET", "2019-11-28 22:13:40 CET", "2019-11-29 09:28:41 CET", "2019-11-29 11:40:08 CET",
"2019-11-29 14:01:12 CET", "2019-11-29 16:41:59 CET", "2019-11-29 19:43:15 CET", "2019-11-29 21:36:33 CET",
"2019-11-30 09:45:32 CET", "2019-11-30 11:46:51 CET", "2019-11-30 14:16:35 CET", "2019-11-30 16:43:57 CET",
"2019-11-30 22:06:34 CET", "2019-12-01 09:36:35 CET", "2019-12-01 11:46:41 CET", "2019-12-01 14:02:20 CET",
"2019-12-01 17:02:55 CET", "2019-12-01 19:03:15 CET", "2019-12-01 21:39:51 CET", "2019-12-03 09:24:03 CET",
"2019-12-03 12:09:05 CET", "2019-12-03 14:43:10 CET", "2019-12-03 16:34:00 CET"), 
Signal = c(5,6,1,2,3,4,5,6,1,2,3,4,6,1,2,3,4,5,6,1,2,3,4))

В этом примере некоторые отдельные сигналы отсутствуют, но также и целый день (2019-12-02). Я ожидал бы следующее:

 expected = data.frame(Date = c(NA, NA, NA, "2019-11-28 19:45:51 CET", "2019-11-28 22:13:40 CET", "2019-11-29 09:28:41 CET", "2019-11-29 11:40:08 CET",
                        "2019-11-29 14:01:12 CET", "2019-11-29 16:41:59 CET", "2019-11-29 19:43:15 CET", "2019-11-29 21:36:33 CET",
                        "2019-11-30 09:45:32 CET", "2019-11-30 11:46:51 CET", "2019-11-30 14:16:35 CET", "2019-11-30 16:43:57 CET", NA, 
                        "2019-11-30 22:06:34 CET", "2019-12-01 09:36:35 CET", "2019-12-01 11:46:41 CET", "2019-12-01 14:02:20 CET",
                        "2019-12-01 17:02:55 CET", "2019-12-01 19:03:15 CET", "2019-12-01 21:39:51 CET", "2019-12-03 09:24:03 CET", NA,NA,NA,NA,NA,NA,
                        "2019-12-03 12:09:05 CET", "2019-12-03 14:43:10 CET", "2019-12-03 16:34:00 CET", NA, NA,NA),
               Signal = c(1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6))

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