gpt4 book ai didi

r - 在 'window' 中使用 apply

转载 作者:行者123 更新时间:2023-12-04 23:22:19 27 4
gpt4 key购买 nike

有没有办法在“窗口”或“范围”上使用应用函数?这个例子应该用来说明:

a <- 11:20

现在我想计算连续元素的总和。 IE。

[11+12, 12+13, 13+14, ...]

我能想到的处理方法是:
a <- 11:20
b <- NULL
for(i in 1:(length(a)-1))
{
b <- c(b, a[i] + a[i+1])
}
# b is 23 25 27 29 31 33 35 37 39

或者,
d <- sapply( 1:(length(a)-1) , function(i) a[i] + a[i+1] )
# d is 23 25 27 29 31 33 35 37 39

有一个更好的方法吗?
我希望有类似的东西:
e <- windowapply( a, window=2, function(x) sum(x) )  # fictional function
# e should be 23 25 27 29 31 33 35 37 39

最佳答案

这是使用 rollapply 的替代方案从动物园包

> rollapply(a, width=2, FUN=sum )
[1] 23 25 27 29 31 33 35 37 39

动物园套餐还提供 rollsum功能
> rollsum(a, 2)
[1] 23 25 27 29 31 33 35 37 39

关于r - 在 'window' 中使用 apply,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20604919/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com