From tlumley@u.washington.edu  Wed Feb  7 16:23:06 2001
From: tlumley@u.washington.edu (Thomas Lumley)
Date: Wed, 7 Feb 2001 08:23:06 -0800 (PST)
Subject: [Rd] RE: [R] Removing "row.names"
In-Reply-To: <14977.29737.623121.566627@mithrandir.hornik.net>
Message-ID: <Pine.A41.4.21.0102070820570.112748-100000@homer40.u.washington.edu>

On Wed, 7 Feb 2001, Kurt Hornik wrote:

> >>>>> Peter Dalgaard BSA writes:
> 
> > Kurt Hornik <Kurt.Hornik@ci.tuwien.ac.at> writes:
> >> names(sampled) <- " "
> >> and
> >> dimnames(sampled)[[2]] <- " "
> >> 
> >> happily introduce non-unique variable names in the data frame.
> >> 
> >> Is the rule that row.names and names must be unique still on?
> >> 
> >> Argh ...
> 
> > Splus 3.4 dispatches on dimnames<-, but not on names<- with the
> > following curious result:
> 
> >> d <- data.frame(a=1:3,b=4:6)
> >> names(d)<-c(" "," ")
> >> d
>       
> > 1 1 4
> > 2 2 5
> > 3 3 6
> >> dimnames(d)[[1]] <- rep(" ",3)  
> > Error in "dimnames<-.data.frame"(d, .A0): column names must be unique
> > Dumped
> 
> > R dispatches similarly, but doesn't check the dimnames in
> > dimnames<-.data.frame. It could do so quite easily. Just add 
> 
> > || any(duplicated(d[[1]])) || any(duplicated(d[[2]]))
> 
> > at the appropriate spot.
> 
> Thomas' view about what should be permitted seems to be different.

I wouldn't object to making it hard to create duplicated names(), but I
think it would be a bad idea to have data.frame() make up unique names if
it's given non-unique ones.

	-thomas

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


[Rd] RE: [R] Removing "row.names"
Thomas Lumley