[R] using "list=" to force evaluation before execution

David Winsemius dwinsemius at comcast.net
Thu Jan 12 19:38:27 CET 2012


On Jan 12, 2012, at 12:04 PM, R. Michael Weylandt wrote:

> Nope - you misunderstand entirely. Both of those functions have an  
> argument named "list" and the code you quote is just the standard  
> way of using a named argument. It could just as well read
>
> rm(salmon = ls())
>
> but that would be absurd. The list argument gets its name from the  
> fact it (usually) takes a list**, no more no less.

Actually that is not correct. The "list" argument takes a character  
vector as input.

Giving it a list with either quoted or unquoted elements creates an  
error:

 > rm(list=list("x", "x1"))
Error in rm(list = list("x", "x1")) : invalid first argument
 > rm(list=list(x, x1))
Error in rm(list = list(x, x1)) : invalid first argument

I entirely agree with the OP that it is unnecessarily confusing, but  
is probably cast in stone because of history.

-- 
David.


>
> Michael
>
> **Not strictly true here as ls() doesn't return a list, but just go  
> with it. It's a vector of names, not a list in the data structure  
> sense.
>
> On Jan 12, 2012, at 11:55 AM, Aditya Bhagwat  
> <bhagwataditya at gmail.com> wrote:
>
>> Dear all,
>>
>> I have noticed that the expression 'list =' is sometimes used to  
>> tell R to
>> evaluate something before executing it.
>>
>> Two examples:
>>
>> rm(list=ls())
>>
>> a = 3
>> myVarName = 'a'
>> save(list=myVarName, file=...)
>>
>>
>> I was wondering whether there is any documentation on this way of  
>> using
>> "list". Which is a clearly different use than what ?list talks  
>> about, as
>> the latter addresses the use of 'list' as a datastructure.
>>
>> Thanks for your help,
>>
>> Adi
>>
>>   [[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.
>
> ______________________________________________
> 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.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list