Skip to content

error in make.names docs (PR#6912)

5 messages · mmiller3@iupui.edu, Michael A. Miller, Brian Ripley +1 more

#
Full_Name: Mike Miller
Version: 1.9.0
OS: win2000
Submission from: (NULL) (134.68.121.109)


The docs for make.names imply that the result of 

   make.names(c("a and b", "a_and_b"), unique=TRUE)

should be 
   
    "a.and.b"  "a.and.b.1"

when it is actually 

    "a.and.b" "a_and_b"

The docs do not reflect this very major change in behavior from 1.8.x to 1.9.0. 
This change causes numerous R codes to fail in senarios like the following. 
Suppose I have a data file, example.dat, like this:

a b x   some_factor
1 1 0.4 orange
2 1 0.3 blue
1 1 0.2 dog
2 1 0.1 orange
1 2 0.4 blue
2 2 0.3 dog
1 2 0.2 orange
2 2 0.1 blue

To read and use this in a version independent way, I've tried to write
version-aware code, but this is difficult as '_' is not syntactically valid
prior to R 1.9.0.  If it were, the following code might work.  Of course, if '_'
were allowed, this issue would not be be a problem.

df <- read.table('example.dat',header=T)
if ( version['minor'] == "9.0" ) {
  plot(x ~ some_factor, data=df)
} else {
  plot(x ~ some.factor, data=df)
}
#
Example output in comment is now corrected in R-patched.
What has the rest to do with a bug report?
On Mon, 24 May 2004 mmiller3@iupui.edu wrote:

            

  
    
#
> Example output in comment is now corrected in R-patched.
    > What has the rest to do with a bug report?

This is a major show stopper which suddenly moves R code from
last month into the category of legacy code.  In my opinion, this
really should have been a major version change, not just a minor
release. 

Version 1.9.0 fails to execute many R codes.  This version
dependency will require a great deal of work to check and
re-validate codes to make the switch to R 1.9.0.  That change
will then make our codes incompatible with R 1.8.1, which is our
current production version.  At the moment, I don't know how we
can handle this without great cost in time, so it seems likely
that we'll need to stay with 1.8.1.  That is unfortunate, as R's
platform dependence has made it really wonderful to use.  This
version incompatibility will make it increasingly cumbersome as
time goes on, more than offsetting the platform independence.

Mike
#
On Mon, 24 May 2004, Michael A. Miller wrote:

            
In truth, 1.9.0 was released last month and in alpha/beta test for a month 
before that.
And what has that to do with a bug report?  Have you read the definition
of a bug in the FAQ?  Not doing what Mr Miller wants is not a bug
according to that definition.
#
Prof Brian Ripley <ripley@stats.ox.ac.uk> writes:
He's hoping (with some reason) that the change of behaviour was the
bug. I seem to recall some internal discussion of the effect, but not
whether it just got forgotten or whether you might as well just do 
gsub(...something...) on the names of the dataframe.