总结名单成员一步一步
问题描述:
我有一个非常简单的问题,但我无法在R中找到一个简单的解决方案,因为我曾经通过遍历其他语言的递增for-loop来解决此类问题。总结名单成员一步一步
比方说,我有一个随机分布的数字列表,如:
rand.list <- list(4,3,3,2,5)
我想改变这种随机分布格局进入一个不断上升的格局,因此结果会是这样的:
[4,7,10,12,17]
答
它首先要做到cumsum(unlist(rand.list))
,其中unlist
将列表折叠为普通向量。但是,我的幸运尝试显示cumsum(rand.list)
也可以。
我不清楚这项工作,作为cumsum
调用.Primitive
的源代码,这是一个内部的S3方法调度程序,不容易进一步调查。但我再拍互补实验如下:
x <- list(1:2,3:4,5:6)
cumsum(x) ## does not work
x <- list(c(1,2), c(3,4), c(5,6))
cumsum(x) ## does not work
在这种情况下,我们要做的cumsum(unlist(x))
。
答
尝试使用Reduce
与accumulate
参数集TRUE
:
Reduce("+",rand.list, accumulate = T)
我希望这有助于。
很快的男人。你的解决方案有效你可以发布这个答案,以便将其标记为解决方案吗? – MayaK