From ripley at stats.ox.ac.uk  Fri Apr  6 21:43:22 2012
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Fri, 6 Apr 2012 20:43:22 +0100 (BST)
Subject: [Rd] R CMD check returns NOTE about package data set as global
 variable
In-Reply-To: <1114888490.18258021.1333740833420.JavaMail.root@jaguar9.sfu.ca>
References: <1114888490.18258021.1333740833420.JavaMail.root@jaguar9.sfu.ca>
Message-ID: <alpine.LFD.2.02.1204062036460.17273@gannet.stats.ox.ac.uk>

On Fri, 6 Apr 2012, Brad McNeney wrote:

> OK, thanks for the tip on good coding practice. I'm still getting the NOTE though when I make the suggested change.

Yes, you will:  data() is a function with side effects, which is 
contrary to the functional programming model being checked.  So there 
is no way to avoid all notes and use data().

If you want to make your code more understandable, consider using 
LazyData (see 'Writing R Extensions').  My view is that data() is a 
kludge from long ago when R had much less powerful memory management, 
except perhaps for very large datasets (at least 100MBs) when you may 
want to control when they are loaded into memory.

>
> In case it matters, I'm check'ing with
>
> R version 2.15.0 (2012-03-30)
> Platform: i386-pc-mingw32/i386 (32-bit)
>
> Brad
>
> ----- Original Message -----
>> From: "Prof Brian Ripley" <ripley at stats.ox.ac.uk>
>> To: "Brad McNeney" <mcneney at sfu.ca>
>> Cc: r-devel at r-project.org
>> Sent: Friday, 6 April, 2012 12:18:14 PM
>> Subject: Re: [Rd] R CMD check returns NOTE about package data set as global variable
>>
>> On 06/04/2012 19:46, Brad McNeney wrote:
>>> I'm developing a package that comes with a data set called
>>> RutgersMapB36. One of the package's functions requires this data
>>> frame. A toy example is:
>>>
>>> test<-function() {
>>>    data(RutgersMapB36)
>>>    return(RutgersMapB36[,1])
>>> }
>>>
>>>
>>> R CMD check returns a NOTE:
>>>
>>> test: no visible binding for global variable 'RutgersMapB36'
>>>
>>> Is there any way to avoid this NOTE?
>>
>> Use data("RutgersMapB36"), which many think is good practice in code.
>>
>>
>>>
>>> Thanks,
>>>
>>> Brad
>>> ---
>>> Brad McNeney
>>> Statistics and Actuarial Science
>>> Simon Fraser University
>>>
>>> ______________________________________________
>>> R-devel at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
>> --
>> Brian D. Ripley,                  ripley at stats.ox.ac.uk
>> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
>> University of Oxford,             Tel:  +44 1865 272861 (self)
>> 1 South Parks Road,                     +44 1865 272866 (PA)
>> Oxford OX1 3TG, UK                Fax:  +44 1865 272595
>>
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



[Rd] R CMD check returns NOTE about package data set as global variable
Prof Brian Ripley