我想最大的向量号和得到的结果作为新的载体
像这样:
w <- 0:10
maximizer <- function(w){
max(10, w + 5)
}
我期待得到一个向量(10,10,10,10,10,10,11,12,13,14,15),但所有我得到的是15,我知道解决这个奇怪的方式,但我敢肯定,必须有一个更简单的方法...
取而代之的max
你应该使用pmax
:
maximizer <- function(w) pmax(10, w + 5)
maximizer(0:10)
# [1] 10 10 10 10 10 10 11 12 13 14 15
以来
pmax()
和pmin()
采取一个或一个以上向量作为参数,将它们再循环到共同的长度和返回单个矢量给出该参数向量的“平行”的最大值(或最小值)。
而
max
和min
返回所有的值出现在他们的论点的最大值或最小值
你可以使用一个for-loop
与ifelse
声明虽然不是优雅的解决方案发布:
for(i in seq_along(w)){
w[[i]] <- ifelse(w[[i]]+5 < 10, 10, w[[i]] + 5)
}
[1] 10 10 10 10 10 10 11 12 13 14 15