[R] using reserved words in R, and reuse variable names in different functions

Duncan Murdoch murdoch.duncan at gmail.com
Sat Mar 2 12:01:04 CET 2013


On 13-03-01 8:35 PM, C W wrote:
> Thanks, everyone, I will definitely avoid it.  Is there any tips on naming
> variables?  I've seen the Google R style guider and Hadley R style guide.

Name them in ways that are meaningful to you.  R standard function names 
are famous for not following any naming pattern consistently.  Avoid 
using dots in the name unless you are defining methods (e.g. print.lm is 
the print method for lm objects).

>
> For example, I want to use pie_t, to denote stationary distribution pie at
> time t.  Both "pi" and "pie" are function names themselves.

Actually pi is not a function, but it is a variable.  If you write a 
package that exports a function or variable named pi, it would mask the 
standard one, and that could cause big problems for users.  If you use 
it internally, it will only mask the standard one in your code, and that 
may not matter to you.

pie is a function, but all it does is draw pie charts, so who cares if 
you mask it? :-).

Duncan Murdoch

> Mike
>
> On Fri, Mar 1, 2013 at 8:12 PM, William Dunlap <wdunlap at tibco.com> wrote:
>
>>> See fortune("dog").
>> To wit:
>>    "Firstly, don't call your matrix 'matrix'. Would you call your dog
>> 'dog'? Anyway, it might clash with the function 'matrix'"
>>
>> I once had a cat named "kitty" and she never had a problem with it.
>>
>> Clashes between non-functions and functions that cause problems are not
>> that common.  With 4000 packages, each with a number of functions, it is
>> hard to avoid using a name that someone has used for a function.
>>
>> Bill Dunlap
>> Spotfire, TIBCO Software
>> wdunlap tibco.com
>>
>>
>>> -----Original Message-----
>>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
>> On Behalf
>>> Of Rolf Turner
>>> Sent: Saturday, March 02, 2013 5:01 AM
>>> To: Sarah Goslee
>>> Cc: r-help
>>> Subject: Re: [R] using reserved words in R, and reuse variable names in
>> different
>>> functions
>>>
>>> On 03/02/2013 01:12 PM, Sarah Goslee wrote:
>>>> On Fri, Mar 1, 2013 at 7:06 PM, C W <tmrsg11 at gmail.com> wrote:
>>>>> Thanks, that was just an example I came up with.  I was just curious
>> if
>>>>> using same variable names in different functions would cause problems.
>>>> No. The environment of a function is independent of other functions.
>>>>
>>>>>    Especially with reserved words.
>>>> Yes. Using reserved words can cause all kinds of subtle problems.
>> Avoid it.
>>>>
>>>
>>> Very sound advice.  But it should be noted that "t", "c", and "matrix"
>>> to which
>>> the OP referred are *not* technically reserved words.  Nonetheless their
>> use
>>> as names of user-defined objects should be eschewed.  See fortune("dog").
>>>
>>> You *can't* actually assign values to reserved words.  E.g.
>>>
>>>       TRUE <- 42
>>>
>>> throws an error.  (Whereas matrix <- 42, bad form though it may be,
>>> does not throw an error.)
>>>
>>>       cheers,
>>>
>>>           Rolf Turner
>>>
>>> ______________________________________________
>>> 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.
>>
>
> 	[[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