哇,我完全失明了...我读了申请,lapply等文档,但我找不到任何东西.
假设我有一个向量
a = c(1,4,5,23,6,3,121,412,23)
Run Code Online (Sandbox Code Playgroud)
我想将函数应用于c(1,4),c(4,5),c(5,23)等.因此,得到的向量应该是长度的
length(a)-1
Run Code Online (Sandbox Code Playgroud)
我想,这很简单.甚至,我想我已经做到了.但感谢您的帮助.
我想要应用的功能基本上是斜率或导数.
感谢我现在的答案:
slope = function(p){
return (p[2] - p[1])
}
foo = rollapply(a, 2, slope)
Run Code Online (Sandbox Code Playgroud)
rollapply动物园包中的功能似乎是你想要的
> library(zoo)
> a
[1] 1 4 5 23 6 3 121 412 23
> rollapply(a, 2, sum)
[1] 5 9 28 29 9 124 533 435
Run Code Online (Sandbox Code Playgroud)
请注意,特定操作有自定义rollxxx类型函数,因此更多细节可以提供更优化的解决方案.
编辑:看到你的编辑后,很清楚你想要的就是diff.
> diff(a)
[1] 3 1 18 -17 -3 118 291 -389
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
693 次 |
| 最近记录: |