Re: [R] Trying to pass arrays as arguments to a function
> 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. y [x == 3] <- 1 -- Claudia Beleites Dipartimento dei Materiali e delle Risorse Naturali Università degli Studi di Trieste Via Alfonso Valerio 6/a I-34127 Trieste phone: +39 (0 40) 5 58-34 47 email: [EMAIL PROTECTED] __ R-help@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.
Re: [R] Trying to pass arrays as arguments to a function
On Mon, Oct 20, 2008 at 03:07:45PM +0200, 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. This should do what you want - no looping required: y[x==3] <- 1 cu Philipp -- Dr. Philipp Pagel Lehrstuhl für Genomorientierte Bioinformatik Technische Universität München Wissenschaftszentrum Weihenstephan 85350 Freising, Germany http://mips.gsf.de/staff/pagel __ R-help@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.
Re: [R] Trying to pass arrays as arguments to a function
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@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. __ R-help@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.
[R] Trying to pass arrays as arguments to a function
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@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.