我有一個非常簡單的問題,但我無法在R中找到一個簡單的解決方案,因爲我曾經通過遍歷其他語言的遞增for-loop來解決此類問題。總結名單成員一步一步
比方說,我有一個隨機分佈的數字列表,如:
rand.list <- list(4,3,3,2,5)
我想改變這種隨機分佈格局進入一個不斷上升的格局,因此結果會是這樣的:
[4,7,10,12,17]
我有一個非常簡單的問題,但我無法在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