Replace given value in vector
===

I'm looking for a function which will replace all occurrences of one value with another value.
For example I'd like to replace all zeros with ones.
I don't want to have to store the result in a variable, but want to be able to use the vector anonymously as part of a larger expression.

I know how to write a suitable function myself:

    > vrepl <- function(x, needle, haystack) {
    +   x[x == needle] <- haystack
    +   return(x)
    + }
    > 
    > vrepl(c(3, 2, 1, 0, 4, 0), 0, 1)
    [1] 3 2 1 1 4 1

But I'm wondering whether there is some standard function to do this job, preferrably from the `base` package, as an alternative from some other commonly used package. I believe that using such a standard will likely make my code more readable, and I won't have to redefine that function wherever I need it.