ある値のすべての出現箇所を別の値に置き換える関数を探しています。たとえば、すべてのゼロを1に置き換えたいと思います。結果を変数に格納する必要はありませんが、より大きな式の一部として匿名でベクトルを使用できるようにしたいです。
私は自分で適切な関数を書く方法を知っています:
> 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
しかし、他の一般的に使用されているパッケージの代わりに、できればパッケージから、この仕事をするための標準的な機能があるかどうか疑問に思っています。このような標準を使用すると、コードが読みやすくなる可能性が高く、必要な場所でその関数を再定義する必要はないと思います。