[R] Trying to pass arrays as arguments to a function

Kaom Te sickfaichezi at gmail.com
Mon Oct 20 15:16:56 CEST 2008


y <- ifelse(x == 3, 1, y)

-Kaom

On Oct 20, 2008, at 6:07 AM, Kåre Edvardsen wrote:

> 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]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list