我正在寻找一个函数,它将用另一个值替换所有出现的一个值。例如,我想用一替换所有零。我不想将结果存储在变量中,但希望能够匿名使用向量作为更大表达式的一部分。
我知道如何自己编写一个合适的函数:
> vrepl <- function(haystack, needle, replacement) {
+ haystack[haystack == needle] <- replacement
+ return(haystack)
+ }
>
> vrepl(c(3, 2, 1, 0, 4, 0), 0, 1)
[1] 3 2 1 1 4 1
但我想知道是否有一些标准功能可以完成这项工作,最好是从base
包中,作为其他常用包的替代品。我相信使用这样的标准可能会使我的代码更具可读性,并且我不必在需要的地方重新定义该函数。