[R] Tidying up code - Warning message: deparse may be incomplete
Duncan Murdoch
murdoch at stats.uwo.ca
Fri Aug 29 14:36:12 CEST 2008
On 28/08/2008 10:46 AM, Marie Pierre Sylvestre wrote:
> Dear R users,
>
> I am currently writing a R package and to do so I am following the
> guidelines in manual 'Writing R extensions'.
>
> In Section 3.1, it is suggested to tidy up the code using a file
> containing the following:
> options(keep.source = FALSE)
> source("myfuns..R")
> dump(ls(all = TRUE), file = new.myfuns.R")
>
> I have done this for my own packages and although it runs, I get several
> warnings of the type:
>
> Warning message:
> In dump(ls(all = TRUE), file = "PermAlgo.R") : deparse may be incomplete
>
> I am clueless as to what this means.
>
> Even if I try to tidy only one function from my code, I get the warning.
>
>
> E.g. the file lala.R contains only this:
> partialHazards <- function(t, v, covArray, betas){ exp( covArray[v,t,]
> %*% betas ) }
>
> the file tidylala.R contains:
>
> options(keep.source = FALSE)
> source("lala.R")
> dump(ls(all = TRUE), file = "newlala.R")
>
> On Linux I run:
>
> R --vanilla < tidylala.R
>
> Then I obtain:
>
> Warning message:
> In dump(ls(all = TRUE), file = "newlala.R") : deparse may be incomplete
>
> The file newlala.R looks like this:
>
> `partialHazards` <-
> function (t, v, covArray, betas)
> {
> exp(covArray[v, t, ] %*% betas)
> }
>
> What does the warning mean? Can I simply ignore it?
I've now taken a look, and this really was a bug. source() was
partially ignoring options(keep.source = FALSE), and this confused
dump(). I've fixed it in R-patched.
I've also clarified the advice about tidying up code, by adding a
warning that following it will delete all of your comments. I think
you're better off writing it in a tidy way in the first place, or using
a smart editor to reformat it. R retains enough information to write a
code prettifier that preserves comments, but I don't know of one.
Duncan Murdoch
More information about the R-help
mailing list