Re: [R] getting multiple argument names

From: Bert Gunter <gunter.berton_at_gene.com>
Date: Fri, 27 Jun 2008 10:50:51 -0700

You evidence a good deal of confusion. V&R's S PROGRAMMING, in particular Chapter 3 (especially section 3.5 on Computing on the Language) would be helpful to you. See also their example on p. 46.

However in brief:

foo <- function (...) {
x <-3
list(...)
}  

returns the evaluated ... arguments as a list. But note that in your call below, foo(a,b,c), the (actual) arguments tha you give are **unnamed** and so you would get:

foo(a,b,c)
[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3

If you wanted the list components named, you must name them:

foo(a=a,b=b,c=c)
$a
[1] 1

$b
[1] 2

$c
[1] 3

There are subtleties here that I overlooked(e.g. what happens if the arguments are expressions with promises, as for lazy evaluation?) As I said, V&R provide a fairly comprehensive and (to me) accessible overview of these things. It can be complicated, for sure.

-----Original Message-----
From: r-help-bounces_at_r-project.org [mailto:r-help-bounces_at_r-project.org] On Behalf Of whizvast
Sent: Friday, June 27, 2008 8:48 AM
To: r-help_at_r-project.org
Subject: [R] getting multiple argument names

hi, all-

i wrote a function that accept multiple arguments, but don't know how to assign names automatically. run the following code:

foo <- function (...) {
  x = list(...)
  names(x) <- deparse(substitute(...))
  x
}
a = 1; b = 2; c = 3

y <- foo( a, b, c)
names(y)

as you can see, only the first items are correctly named. how do i correct this problem?

-- 
View this message in context:
http://www.nabble.com/getting-multiple-argument-names-tp18158010p18158010.ht
ml
Sent from the R help mailing list archive at Nabble.com.

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

______________________________________________
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.
Received on Fri 27 Jun 2008 - 18:04:56 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 27 Jun 2008 - 18:31:09 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive