如果有两个向量,请说x
和y
。
for (i in 1:length(x))
z[i] = max(x[i],y[i])
请不要使用循环来帮助我执行此操作吗?
答案 0 :(得分:13)
假设向量x
和y
具有相同的长度,pmax
就是你的功能。
z = pmax(x, y)
如果长度不同,由于回收,pmax
表达式将返回与循环不同的值。
答案 1 :(得分:2)
为了完整起见,我提供了一个使用apply
的解决方案:
Z = cbind(x,y)
apply(Z, 1, max)
我不知道不同的解决方案在速度方面的比较,但是,@ JevgenijsStrigins,你可以很容易地检查。