Re: [R] Multiple assignments in one statement

From: Huntsinger, Reid <reid_huntsinger_at_merck.com>
Date: Sat 09 Jul 2005 - 06:04:16 EST


Yes and no. Your function doesn't work because c() is a function and R is call-by-value, so c(x,y,z) is just a value, like 7.

You could use lists like this:

> l <- list(x=NULL,y=NULL,z=NULL)
> l[c("x","y","z")] <- 1:3
> l

$x
[1] 1

$y
[1] 2

$z
[1] 3

That, together with attaching lists (help(attach)), might give you the effect you want.

Reid Huntsinger

-----Original Message-----
From: r-help-bounces@stat.math.ethz.ch
[mailto:r-help-bounces@stat.math.ethz.ch] On Behalf Of Jeffrey Horner Sent: Friday, July 08, 2005 3:45 PM
To: r-help@stat.math.ethz.ch
Subject: [R] Multiple assignments in one statement

Is this possible?

For instance, I have a function that returns a vector length 3. In one statement I'd like to assign each element of the vector to different variables. Syntactically, I hoped this would work:

c(x,y,z) <- myfun();

Thanks,

-- 
Jeffrey Horner       Computer Systems Analyst         School of Medicine
615-322-8606         Department of Biostatistics   Vanderbilt University

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Received on Sat Jul 09 06:10:56 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:33:26 EST