Мне интересно, есть ли какие-либо быстрые функции R, которые могут вычислять скользящее стандартное отклонение для вектора, пропуская любые значения NA в середине указанного вектора, чтобы вектор все еще соответствовал исходным данным?
Пакет TTR
имеет runSD
, но возвращает ошибку, если в середине вектора есть NA.
В пакете fTrading
есть rollVar
, в котором есть na.rm=TRUE
. Извлечение квадратного корня из скользящей дисперсии дает стандартное отклонение. Однако на самом деле он удаляет значения NA, а это означает, что скользящее стандартное отклонение больше не совпадает с исходными данными.
Или есть способ временно удалить значения NA, а затем вставить их обратно после завершения расчета?
Обновить
См. раздел Повторная вставка NA в вектор.