[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