Заменить данное значение в векторе
Я ищу функцию, которая заменит все вхождения одного значения другим значением. Например, я хотел бы заменить все нули на единицы. Я не хочу хранить результат в переменной, но хочу иметь возможность использовать вектор анонимно как часть более крупного выражения.
Я знаю, как написать подходящую функцию самостоятельно:
> 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
пакет, в качестве альтернативы от некоторых других часто используемых пакетов. Я считаю, что использование такого стандарта, вероятно, сделает мой код более читабельным, и мне не придется переопределять эту функцию там, где она мне нужна.