我的目标是按每个计数对每第n行求和。也许循环函数可能会有所帮助。
我用过这段代码:
irr = rollapply( irr , width = 1 , by = n , align = "left" , FUN = sum )
示例:
V1
3
2
4
7
5
所以,如果n = 2
,前两行将总结。
结果:
V1
5
4
7
5
所以问题是,我在另一个data.frame变量中有多个“n”。
2 5 3
我希望对"n"
进行更改,请在"3"
完成前两行的总和后,
next n = 3
结果:
5 16
这是我第一次使用r所以请原谅我所犯的任何错误,如果这个问题很难理解。谢谢
答案 0 :(得分:0)
您可以根据split
n
数据框,然后sum
覆盖每个列表
举个例子,
v1 <- data.frame(X = c(3,2,4,7,5, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4))
n <- data.frame(Y = c(2, 3, 2, 4, 1,4))
unlist(lapply(split(v1$X, rep(1:nrow(n), n$Y)), sum))
# 1 2 3 4 5 6
# 5 16 5 22 8 10