агрегирование временных рядов без даты в r - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь объединить временные ряды без даты в интервалы одного часа в R, но каждый найденный мной способ начинается с "преобразовать в POSIXct", чего я не хочу делать, потому чтосегодняшняя дата бьет по всему, и дата все равно не имеет отношения к тому, что я делаю.Это временные метки в формате ЧЧ: ММ с 00:00 до 23:59.То, что я хотел бы сделать, это агрегировать каждый час в день, и при желании также иметь возможность разбить его дальше в PdDistrict.(Таким образом, этот набор данных будет разбит на число строк для 8:00 часов в среду, один для 8:00 часов в четверг и один для отдельного события 9:00 в четверг. Если бы я мог тогда сказать " x случаев в среду в 8:00 в парке ", тем лучше.)

РЕДАКТИРОВАТЬ: Я забыл упомянуть, что у меня также есть аналогичная проблемапытаясь использовать метки времени в качестве оси на графике;самое близкое, что я получил, это scale_x_time(), но похоже, что оно интерпретирует время как мин: с, например, 00: 08: 30.

"DayOfWeek","Time","PdDistrict"
"Wednesday","08:30","NORTHERN"
"Wednesday","08:00","PARK"
"Thursday","08:30","TARAVAL"
"Thursday","08:00","SOUTHERN"
"Wednesday","08:00","NORTHERN"
"Wednesday","08:00","CENTRAL"
"Wednesday","08:00","BAYVIEW"
"Thursday","08:00","PARK"
"Wednesday","08:30","CENTRAL"
"Thursday","08:00","SOUTHERN"
"Wednesday","08:00","CENTRAL"
"Thursday","08:00","SOUTHERN"
"Wednesday","08:30","SOUTHERN"
"Thursday","9:30","BAYVIEW"

1 Ответ

0 голосов
/ 25 сентября 2019

Опция будет

library(dplyr)
library(lubridate)
df1 %>%
  group_by(DayOfWeek, 
         Timegroup = format(ceiling_date(as.POSIXct(Time,
               format = "%H:%M"), "hour"), "%H")) %>% 
 summarise(n = n()) 
# A tibble: 5 x 3
# Groups:   DayOfWeek [2]
#  DayOfWeek Timegroup     n
#  <chr>     <chr>     <int>
#1 Thursday  08            4
#2 Thursday  09            1
#3 Thursday  10            1
#4 Wednesday 08            5
#5 Wednesday 09            3

data

df1 <- structure(list(DayOfWeek = c("Wednesday", "Wednesday", "Thursday", 
"Thursday", "Wednesday", "Wednesday", "Wednesday", "Thursday", 
"Wednesday", "Thursday", "Wednesday", "Thursday", "Wednesday", 
"Thursday"), Time = c("08:30", "08:00", "08:30", "08:00", "08:00", 
"08:00", "08:00", "08:00", "08:30", "08:00", "08:00", "08:00", 
"08:30", "9:30"), PdDistrict = c("NORTHERN", "PARK", "TARAVAL", 
"SOUTHERN", "NORTHERN", "CENTRAL", "BAYVIEW", "PARK", "CENTRAL", 
"SOUTHERN", "CENTRAL", "SOUTHERN", "SOUTHERN", "BAYVIEW")), 
class = "data.frame", row.names = c(NA, 
-14L))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...