0

2 つのベクトルがある場合、 とxとしyます。

for (i in 1:length(x))
   z[i] = max(x[i],y[i])

ループを使わずにこれを実行するのを手伝ってくれませんか?

4

2 に答える 2

13

xベクトルとyが同じ長さであると仮定するとpmax、関数になります。

z = pmax(x, y)

長さが異なる場合、pmaxリサイクルにより、式はループとは異なる値を返します。

于 2012-12-30T17:36:55.730 に答える
2

完全を期すために、次を使用するソリューションを含めますapply

Z = cbind(x,y)
apply(Z, 1, max)

さまざまなソリューションが速度の点でどのように比較されるかはわかりませんが、@ JevgenijsStrigins、非常に簡単に確認できます。

于 2012-12-30T19:15:09.833 に答える