ネストされたリストに再帰的にmapply()
を使用するために、rapply(, how = "replace")
とmapply()
の機能を組み合わせる簡単な方法があるのだろうかと思っていました。rapply()とmapply()を組み合わせる方法、またはmapply/Mapを再帰的に使う方法は?
たとえば、私は2つのネストされたリストがあります:
A = list(list(c(1,2,3), c(2,3,4)), list(c(4,3,2), c(3,2,1)))
B = list(list(c(1,2,3), c(2,3,4)), list(c(4,3,2), c(3,2,1)))
をさんは、私がAとBのすべての対応する要素にfunction(x, y) x + y
を適用し、入れ子構造を保持したいとしましょう。望ましい結果は、私は、これはrapply(x, f, how = "replace")
のmapply()
アナログすべきだと思います
result = list(list(c(2,4,6), c(4,6,8)), list(c(8,6,4), c(6,4,2)))
だろうが、それらを統合する方法を見つけ出すことができませんでした。誰も親切に私にこれについてのいくつかの指摘を与えることができますか?
もう1つの簡単な質問は、通常、集中的な計算、入れ子にされたリストまたは多次元配列の方が高速ですか?すべてのコメントは非常に感謝しています!
ありがとうPsidom!私はこれが上記の解決策よりもとてもきちんとしており、より一般的であることを認識しました!! – shenglih
'tryCatch'の代わりに' s'のオーバーヘッドを避けるためには 'function(x、y)if(is.atomic(x)&& is.atomic(y))x + y else map(s、x、 y) ' –