Добавление почасовых разрывов в таблицу частот - PullRequest
0 голосов
/ 03 октября 2019

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

C<-Data
C$Data<-format(C$Data, "%m/%d/%Y")
Freq_Day<- C %>% group_by(Data) %>% summarise(frequency = n())

Однако, когда я пытаюсь получить почасовую частоту, выполняя следующее

B<-Data
B$Data<-format(B$Data,"%m/%d/%Y %H:%M")
Freq_HRLY<-B %>% group_by(Data) %>% summarise(frequency = n())

В нем пропускаются часы, которых просто не былов наборе данных. Таким образом, он возвращает столбец, который меньше (# дней) * 24. Как бы мне получить столбец дат с шагом в один час с соответствующей частотой, чтобы в случае отсутствия в «данных» вхождения просто было значение 0

1 Ответ

0 голосов
/ 03 октября 2019

Одним из способов будет использование tidyr::complete для заполнения пропущенных часов в данных Freq_HRLY, которые уже рассчитаны путем создания последовательности часовых интервалов между min и max Data.

library(dplyr)

Freq_HRLY %>%
  ungroup() %>%
  mutate(Data = as.POSIXct(Data, format = "%m/%d/%Y %H:%M")) %>%
  tidyr::complete(Data = seq(min(Data), max(Data), by = "1 hour"), 
         fill = list(frequency = 0))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...