I'd like to avoid looping through an array in order to change values in
the array as it takes too long.
I red from an earlier post it can be done by "do.call" but never got it
to work. The Idea is to change the value of "y" according to values in
"x". Wherever "x" holds the value 3, the corresponding value in "y"
should be set to 1. 

So I tried the following giving an error message:

#################
x <- c(1,2,3,2,2,3,1,1,3,3)
y <- c(0,0,1,1,0,0,1,0,0,1)

Change_y <- function() {

if (x == 3) {y <- 1}
  
}

do.call("Change_y", as.list(x,y))

Error in Change_y(1, 2, 3, 2, 2, 3, 1, 1, 3, 3) :
        unused argument(s) ( ...)

##################

How should it be done?

Cheers,
Kare

	[[alternative HTML version deleted]]

