2

最後の正の要素または最後の負の要素が現れるまで、do および while ループを使用してベクトルの要素の合計を計算することを避けることは可能ですか?

4

1 に答える 1

6

次のことを試してください。

x <- 5:-5
# sum until last positive:
sum(x[1:max(which(x > 0))])

x <- -5:5
# sum until last negative:
sum(x[1:max(which(x < 0))])

説明:

Which(x > 0)x が 0 より大きいインデックス番号のベクトルを返します。これの最大値を取ると、そのような最後のインデックスが得られます。あとは、1 からこの要素までの x を合計するだけです。これが役立つことを願っています。

于 2012-08-07T13:06:59.810 に答える