本文介绍了R中向量中的连续/滚动总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设在 R 中我有以下向量:
Suppose in R I have the following vector :
[1 2 3 10 20 30]
如何执行一个操作,即在每个索引处对 3 个连续元素求和,从而得到以下向量:
How do I perform an operation whereby at each index 3 consecutive elements are summed, resulting in the following vector :
[6 15 33 60]
其中第一个元素 = 1+2+3,第二个元素 = 2+3+10 等等...?谢谢
where the first element = 1+2+3, the second element = 2+3+10 etc...? Thanks
推荐答案
你拥有的是一个向量,而不是一个数组.您可以使用 zoo 包中的 rollapply
函数来获取所需的内容.
What you have is a vector, not an array. You can use rollapply
function from zoo package to get what you need.
> x <- c(1, 2, 3, 10, 20, 30)
> #library(zoo)
> rollapply(x, 3, sum)
[1] 6 15 33 60
查看 ?rollapply
以进一步了解 rollapply
的作用以及如何使用它.
Take a look at ?rollapply
for further details on what rollapply
does and how to use it.
这篇关于R中向量中的连续/滚动总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!