[R] extract argument names

Patrick Burns pburns at pburns.seanet.com
Tue Apr 7 21:36:22 CEST 2009


unlist(lapply(parse(text=a), function(x) deparse(x[[2]])))

seems to do the job.


Patrick Burns
patrick at burns-stat.com
+44 (0)20 8525 0696
http://www.burns-stat.com
(home of "The R Inferno" and "A Guide for the Unwilling S User")

roger koenker wrote:
> I have a vector of character strings that look like R expressions:
>
> > a <- paste("qss(",paste("x",1:6,sep = "") ,", lambda =100)", sep = "")
> > a
> [1] "qss(x1, lambda =100)" "qss(x2, lambda =100)" "qss(x3, lambda =100)"
> [4] "qss(x4, lambda =100)" "qss(x5, lambda =100)" "qss(x6, lambda =100)"
>
> That I would like to operate on to obtain the names of the first 
> argument, i.e.
>
> > foo(a)
> [1] "x1" "x2" "x3" "x4" "x5" "x6"
>
> I thought there was some simple idiom involving deparse, but it is 
> eluding
> my searches.
>
>
> url:    www.econ.uiuc.edu/~roger            Roger Koenker
> email    rkoenker at uiuc.edu            Department of Economics
> vox:     217-333-4558                University of Illinois
> fax:       217-244-6678                Champaign, IL 61820
>
> ______________________________________________
> 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.
>
>




More information about the R-help mailing list