Ersetzen Sie den angegebenen Wert im Vektor

Ich suche eine Funktion, die alle Vorkommen eines Wertes durch einen anderen Wert ersetzt. Zum Beispiel möchte ich alle Nullen durch Einsen ersetzen. Ich möchte das Ergebnis nicht in einer Variablen speichern müssen, sondern den Vektor anonym als Teil eines größeren Ausdrucks verwenden können.

Ich kann selbst eine passende Funktion schreiben:

> 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

Aber ich frage mich, ob es eine Standardfunktion gibt, die diesen Job erledigt, vorzugsweise von derbase Paket, als Alternative zu einem anderen häufig verwendeten Paket. Ich glaube, dass die Verwendung eines solchen Standards meinen Code wahrscheinlich lesbarer machen wird und ich diese Funktion nicht überall dort neu definieren muss, wo ich sie benötige.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage