Multiple replacement in R

r

Solution

1) Try this:

 replace(seq(20), c(4,3,5), c(2,4,6))[x]

2) Here is a more general approach:

 c(2, 4, 6, x)[match(x, c(4, 3, 5, x))]

This second approach has the form: `c(new, x)[match(x, c(old, x))]`

Problem

I want to do multiple replacements in the matrix. For example, ``` x <-sample(1:20,50,rep=T) replace(x, x == 4, 2) ``` Replacing the elements equal to 4 in x with 2 by using replace. But how can I replace `x == 4` with `2`, `x ==3` with `4` and `x == 5` with `6`. Is there any built function to replace `(4,3,5)` respectively with `(2,4,6)`?

Original source