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

seems to do the job.


Patrick Burns
patr...@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    rkoen...@uiuc.edu            Department of Economics
vox:     217-333-4558                University of Illinois
fax:       217-244-6678                Champaign, IL 61820

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

Reply via email to