W pakiecie zoo rollmean
i rollapply
mieć argumenty, które umożliwiają liczne odmiany.
library(zoo)
x <- seq(10)^2
# no NAs at end
rollmean(x, 3)
# NAs at ends
rollmean(x, 3, na.pad = TRUE)
# weighted mean
rollapply(zoo(x), 3, function(x) c(1, 2, 1) %*% x/4)
# at ends take means of less than 3 points - needs devel version
# partial= is in development and at this point must use na.rm = TRUE to use partial
source("http://r-forge.r-project.org/scm/viewvc.php/*checkout*/pkg/zoo/R/rollapply.R?revision=802&root=zoo")
rollapply(zoo(x), 3, mean, partial = TRUE, na.rm = TRUE)
EDIT:
Zauważ, że ponieważ ten został napisany w wersji rozwój zoo został zmieniony tak, że zamiast pisać partial = TRUE
jeden pisze regułę = „częściowy” lub rule = 3
. Problem polegał na tym, że wraz z dodaniem nowych reguł końcowych do wersji rozwojowej (teraz są dodane 3 i 4) przed ich wydaniem) z osobnym argumentem dla każdego z nich zaśmieca interfejs użytkownika. Również rule
jest bardziej zgodne z approx
w rdzeniu R. W rzeczywistości, rule=1
i rule=2
będą miały to samo znaczenie w rollapply
i approx
(z rdzenia R) dla lepszej spójności i łatwości użytkowania. Nawiasy wokół mean
W poniższym przykładzie są obecnie wymagane w wersji rozwojowej, aby zapobiec jego wywołanie rollmean
, gdzie rule="partial"
nie została jeszcze wdrożona, ale potrzeba do zrobienia, że zostaną wyeliminowane przez czas jej oficjalnie wydany.
source("http://r-forge.r-project.org/scm/viewvc.php/*checkout*/pkg/zoo/R/rollapply.R?revision=815&root=zoo")
rollapply(zoo(x), 3, (mean), rule = "partial")
Ale dlaczego wynik rollmean jest zawsze o jeden element krótszy niż itm? – rsk82