How to get names of dot-dot-dot arguments in R

  • A+
Category:Languages

How obtaining a characters vector containing the name of the dot-dot-dot arguments passed to a function e.g.:

test<-function(x,y,...) {     varnames=deparseName(substitute(list(...)))     # deparseName does not exist, this is what I want !     # so that I could *for example* call:      for(elt in varnames)        {print(varnames);} }  v1=11 v2=10 test(12,12,v1,v2)  ## would print  #v1 #v2 

 


You can use deparse and substitute to get what you want (see also this Q&A):

test<-function(x, y, ...) {     varnames=lapply(substitute(list(...))[-1], deparse)     lapply(varnames, print)     return(invisible()) }  test(12,12,v1,v2) #[1] "v1" #[1] "v2" 

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: