Я хотел бы вычислить вариант скользящих медиан в моем наборе данных, который строит подмножества не путем k
наблюдений вперед и назад, а с учетом всех наблюдений, которые находятся в данном временном окне.
Простая реализация может выглядеть так:
windowwidth <- 30
median.window <- function(x) median(mydata[time <= x + windowwidth /2 & time >= x - windowwidth /2)
vapply(time, median.window)
Однако, как вы понимаете, это не очень эффективно для больших наборов данных. Видите ли вы возможное улучшение или пакет, обеспечивающий оптимизированную реализацию? Нельзя ожидать, что наблюдения будут равномерно распределены во времени.
zoo
предоставляет rollmedian
, но эта функция предлагает выбрать окно не по времени, а по количеству наблюдений.
outer()
с подходящей функцией временного типа по крайней мере построить вам полный набор оконных наборов образцов. Мне придется пойти и поиграть с этим. - person Carl Witthoft   schedule 13.12.2011