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.
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
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.