私は非常に単純な問題を抱えていますが、他の言語のfor-loopを繰り返してこのような問題を解決するために使用されたため、Rで簡単な解決策を見つけることができませんでした。リストメンバーを段階的に集計する
rand.list <- list(4,3,3,2,5)
私は結果は次のようになりますので、絶えず上昇パターンにこのランダムな分散パターンを変更したい:
[4,7,10,12,17]
のは、私のようにランダムに分散数値のリストを持っているとしましょう
私は非常に単純な問題を抱えていますが、他の言語のfor-loopを繰り返してこのような問題を解決するために使用されたため、Rで簡単な解決策を見つけることができませんでした。リストメンバーを段階的に集計する
rand.list <- list(4,3,3,2,5)
私は結果は次のようになりますので、絶えず上昇パターンにこのランダムな分散パターンを変更したい:
[4,7,10,12,17]
のは、私のようにランダムに分散数値のリストを持っているとしましょう
最初にcumsum(unlist(rand.list))
を実行しました。unlist
は、リストをプレーンベクタに縮小しています。しかし、私の幸運な試みは、cumsum(rand.list)
も動作することを示しています。
cumsum
のソースコード.Primitive
は、さらに調査しにくい内部S3メソッドディスパッチャを呼び出しているので、この動作がどのようにしてどうなっているのかは分かりません。我々はcumsum(unlist(x))
を行う必要があり、この場合、
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
:しかし、私は次のように他の補完的な実験を行います。
TRUE
にaccumulate
パラメータセットでReduce
を使用してみてください:
Reduce("+",rand.list, accumulate = T)
私はこれが役立つことを願っています。
すごかったです。あなたのソリューションは機能します。それを解決策として掲示することができますか? – MayaK