У меня есть следующий фрейм данных (mydf) с метками времени UNIX:
1543748345000
1543760946000
1543752164000
1543720144000
1543752713000
1543781064000
1543753688000
1543765145000
…
(n = 200 000)
Я конвертирую их в формате даты, используя:
mydf <- as.POSIXct(as.integer(as.numeric(as.character(mydf)) / 1000.0),origin='1970-01-01', tz="GMT")
Это работает хорошо, и я получаю хорошо упорядоченные данные с датами и точным временем:
2018-12-01 00:07:05
2018-12-01 00:09:04
2018-12-01 00:25:42
…
- Вопрос) Это основано на моем системном времени и, следовательно, моем часовом поясе (CET +1) или мне нужно преобразовать его снова?
Теперь, допустим, я хочу создать фрагменты по x минут (например, 30 минут), которые подсчитывают, сколько наблюдений у меня есть в x-минуты, например:
From | To | Count
2018-12-01 00:00:00 | 2018-12-01 00:30:00 | 3
2018-12-01 00:30:00 | 2018-12-01 01:00:00 | 6
2018-12-01 01:00:00 | 2018-12-01 01:30:00 | 5
…
В то же время у меня есть несколько других числовых переменных в моем фрейме данных, и я хочу получить среднее значение в моем новом фрейме x-minutes-chunks-data-frame.(например, первые три наблюдения находятся в первом фрагменте (= одно наблюдение), и здесь я хочу получить среднее значение для каждой переменной этих трех наблюдений).
Вопрос) Есть ли у вас какие-либо идеи, как я могу это сделать эффективно?
Приветствия:)
РЕДАКТИРОВАТЬ:
mydf <- data.frame("content" = c(replicate(10,"Here is Text")),
"replies" = c(1,2,3,2,5,2,6,2,6,3),
"credits" = c(4,7,3,6,2,11,7,10,9,0),
"unix_timestamp" = c("2018-12-01 00:07:05 GMT", "2018-12-01 00:09:04 GMT", "2018-12-01 00:25:42 GMT", "2018-12-01 00:28:40 GMT",
"2018-12-01 01:09:11 GMT", "2018-12-01 02:19:05 GMT", "2018-12-01 03:29:06 GMT", "2018-12-01 04:06:30 GMT",
"2018-12-01 04:29:06 GMT", "2018-12-01 05:29:16 GMT"))
Моя цель:
data.frame("count" = c(4,0),
"mean_replies" = c(2,0),
"mean_credits" = c(5,0),
"from" = c("2018-12-01 00:00:00 GMT","2018-12-01 00:30:00 GMT"),
"to" = c("2018-12-01 00:30:00 GMT", "2018-12-01 01:00:00 GMT"))