我想实现以下rollscale
函数来缩放(中心化和规范化,即减去 mu 并除以 sigma)数据集 x,但不是使用全局来执行它,而是mu
在sigma
所见数据的滚动窗口内计算它们。我得出了以下内容,但不知道如何在第三个上定义函数参数,rollapplyr
即我如何知道当前位置是什么?
library(zoo)
rollscale <- function(x, k) {
mu <- rollapplyr(x, k, mean)
sigma <- rollapplyr(x, k, sd)
x <- rollapplyr(x, k, function(x) ???)
}
简单的比例函数将是:
scale <- function(x) {
mu <- mean(x)
sigma <- sd(x)
x <- (x - mu)/sigma
}