阅读http://adv-r.had.co.nz/Functional-programming.html我正在尝试修改一个函数来更新值向量,其中10替换为110,其他所有值都替换为2.
这是我用10代替10的代码:
replacer <- function(x) {
x[x == 10] <- 110
x
}
replacer(c(0, 10))
这是按预期工作并返回0 110
但是如何修改以便将值设置为2而不会遇到10?
我试过了:
replacer <- function(x) {
if (x[x == 10] <- 110)
x
else
2
}
replacer(c(0, 10))
返回相同的结果:0 110
但我期待2 110
更新:
使用Sotos评论解决方案是:
replacer <- function(x) {
ifelse( x == 10, 110, 2)
}
replacer(c(0, 10))