Следуя вышеприведенному сообщению, вы можете даже использовать и изменять элементы вектора, удовлетворяющего критериям. На мой взгляд, если это не так дорого вычислять быстрее, всегда нужно это делать.
x = seq(0.1,10,0.1)
y <- rep(2,length(x))
y[x<5] <- x[x<5]*2
Код предыдущего сообщения лучше всего ответить на вопрос. Но если бы мне пришлось использовать код выше, я бы сделал:
x = seq(0.1,10,0.1)
y <- rep(2,length(x))
y[x<5] <- x[x<5]*0 +1