就像是
sliding = function(df, n, f)
ldply(1:(nrow(df) - n + 1), function(k)
f(df[k:(k + n - 1), ])
)
Run Code Online (Sandbox Code Playgroud)
就像那样使用
> df
n a
1 1 0.8021891
2 2 0.9446330
...
> sliding(df, 2, function(df) with(df,
+ data.frame(n = n[1], a = a[1], b = sum(n - a))
+ ))
n a b
1 1 0.8021891 1.253178
...
Run Code Online (Sandbox Code Playgroud)
直接内部ddply,以便我可以得到它附带的漂亮的语法糖?