[Rd] R CMD check returns NOTE about package data set as global variable
Brad McNeney
mcneney at sfu.ca
Fri Apr 6 22:54:17 CEST 2012
Thanks (to all), using LazyData removes the note.
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:43:22 PM
> Subject: Re: [Rd] R CMD check returns NOTE about package data set as global variable
>
> 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
>
More information about the R-devel
mailing list