我试图了解align
参数在中的作用rollapply
。我已阅读文档中的描述?rollapply
(对齐):
指定结果的索引与观察的滚动窗口相比是左对齐还是右对齐或居中(默认)。仅当width表示宽度时才使用此参数。
我不清楚这意味着什么,也没有例子。这里提出了一个类似的问题:rollapply中的对齐方式和偏移量,但没有人解释。
希望有人可以通过一些示例更详细地解释这一点。我尝试进行实验以更好地理解它,但是当我尝试align =“ right”,“ left”或“ center”时,我不确定如何改变结果。
右对齐。对于以下内容,它将计算结果为y [i] = x [i-2] + x [i-1] + x [i]:
x <- 1:10
y <- rollapply(x, 3, sum, align = "right", fill = NA)
y
## [1] NA NA 6 9 12 15 18 21 24 27
计算为:
rollapply(x, 3, function(x) paste(x, collapse = "+"), align = "right", fill = NA)
## [1] NA NA "1+2+3" "2+3+4" "3+4+5" "4+5+6" "5+6+7"
## [8] "6+7+8" "7+8+9" "8+9+10"
一种等效的指定方式是偏移量。也就是说,将元素向后2个位置,向后1个位置和当前位置反馈到sum
:
rollapply(x, list(c(-2, -1, 0)), sum, fill = NA) # same as align = "right"
中心对齐。对于以下内容,它将计算结果为y [i] = x [i-1] + x [i] + x [i + 1]:
x <- 1:10
y <- rollapply(x, 3, sum, align = "center", fill = NA)
y
## [1] NA 6 9 12 15 18 21 24 27 NA
计算为:
rollapply(x, 3, function(x) paste(x, collapse = "+"), align = "center", fill = NA)
## [1] NA "1+2+3" "2+3+4" "3+4+5" "4+5+6" "5+6+7" "6+7+8"
## [8] "7+8+9" "8+9+10" NA
一种等效的指定方法是通过偏移量。那就是将前一个,当前和下一个值相加:
rollapply(x, list(c(-1, 0, 1)), sum, fill = NA) # same as align = "center"
左对齐。对于以下内容,它将计算结果为y [i] = x [i] + x [i + 1] + x [i + 2]:
x <- 1:10
y <- rollapply(x, 3, sum, align = "left", fill = NA)
y
## [1] 6 9 12 15 18 21 24 27 NA NA
计算为:
rollapply(x, 3, function(x) paste(x, collapse = "+"), align = "left", fill = NA)
## [1] "1+2+3" "2+3+4" "3+4+5" "4+5+6" "5+6+7" "6+7+8" "7+8+9"
## [8] "8+9+10" NA NA
也可以根据偏移量来指定。那就是使用当前,下一个和下一个在Feed旁边的位置sum
:
rollapply(x, list(c(0, 1, 2)), sum, fill = NA) # same as align = "left"
请注意,可以将左右对齐方式更紧凑地写为:
y <- rollapplyr(x, 3, sum, fill = NA) # note r on the end to denote right
y <- rollapply(x, 3, sum, fill = NA) # no align specified so center
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句