[R] the inverse of assign()

Rolf Turner rolf.turner at xtra.co.nz
Tue Aug 27 22:38:33 CEST 2013



Actually what's needed is "deparse(substitute(...))":

     file = paste(deparse(substitute(x)),"csv",sep="."))

I have no idea what "deparse" and "substitute" really mean; I just treat
the forgoing as a black box/magic incantation.  It works.

     cheers,

     Rolf Turner

On 28/08/13 09:19, Hadley Wickham wrote:
> It's not really the inverse of assign (that's get), but I think you
> want substitute.
>
> See http://adv-r.had.co.nz/Computing-on-the-language.html for more details.
>
> Hadley
>
> On Tue, Aug 27, 2013 at 4:13 PM, Robert Lynch <robert.b.lynch at gmail.com> wrote:
>> I am looking for a way to extract the name of a variable that has been
>> passed into a function
>>
>> for example
>>   foo <-function(x){
>>   write.csv(x, file = paste(NAME(x), "csv", sep ="."))
>> }
>>
>> is there a function "NAME" that would let the calls
>> foo(bar)
>>    write the file bar.csv
>> and foo(stuff)
>>    write the file stuff.csv
>>
>> Robert
>>
>>          [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> 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