[R] returning argument names
Peter Dalgaard BSA
p.dalgaard at biostat.ku.dk
Tue Feb 18 00:00:19 CET 2003
Michael.Scroggie at nre.vic.gov.au writes:
> Dear r-list folks,
>
> I have a problem which has been bugging me for a while now and I was hoping
> someone out there might be able to help.
>
> If I have a user-defined function with an indeterminate number of
> arguments, using the well-known "..." construct, how can I get the
> function to return the names of the items which were the arguments of the
> function as part of the function's output? This is easily done where there
> is a fixed number of arguments: e.g:
>
> aa<-c(1,2,3,4,5)
> bb<-c(6,7,8,9,10)
>
> argument.out<-function(object1,object2){
> name1<-deparse(substitute(object1))
> name2<-deparse(substitute(object2))
> output<-c(name1,name2)
> return(output)
> }
> argument.out(aa,bb)
>
>
> How can I produce a similar results from a function where there is an indeterminate number of arguments i.e:
>
> argument.list<-function(object,...){
>
> Any suggestions or solutions would be much appreciated.
match.call() is your friend. E.g.
f <- function(...) sapply(as.list(match.call())[-1], deparse)
f(fee=foo,fie=bar,foe=baz)
actually, as.list is superfluous:
f <- function(...) sapply(match.call()[-1], deparse)
--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list