У меня есть набор данных с датами, происходящими случайным образом. Например:Скользящий средний по времени, а не наблюдению в R
10/21/15, 11/21/15, 11/22/15, 11/28/15,11/30/15, 12/12/15 ... и т.д.
Я хочу создать скользящее среднее по периоду времени НЕ на уровне наблюдения. Например, если бы я хотел сделать скользящее среднее за последние 7 дней. Я бы не хотел, чтобы посмотреть на последние 7 рядов, а последние 7 дней
Для крошечного примера:
dates = c('2015-08-07', '2015-08-08','2015-08-09','2015-09-09','2015-10-10')
value = c(5,10,5,3,2)
df=data.frame(dates, value)
df$desired = c(NA,5,7.5, NA,NA)
Я, очевидно, хочу сделать это для гораздо большего набора данных, но Надеюсь, вы поняли эту идею. Если бы я использовал 7 дней, например, это результат, которого я ожидал бы.
Обратите внимание, что я не включаю текущее значение наблюдений в скользящее среднее значение, только предыдущее. Я хочу скользящее среднее по периоду времени, а не номер строки наблюдения.
Я пробовал смотреть на рулетку и dplyr, но я не мог понять это. Мне все равно, как это происходит.
Спасибо!
разделить процесс на несколько частей: 1. агрегате в периоды, 2. присоединиться к рядам всех периодов, чтобы заполнить возможные пробелы в данных с НС, 3. применять rollmean – jangorecki