[R] Oddity with names

ripley@stats.ox.ac.uk ripley at stats.ox.ac.uk
Thu Jul 18 18:25:11 CEST 2002


On Thu, 18 Jul 2002, Andrew Robinson wrote:

> At 08:01 AM 7/18/2002 +0100, Brian D. Ripley wrote:
> >On Wed, 17 Jul 2002, Andrew Robinson wrote:
> >
> > > Hi all,
> > >
> > > I'm using R 1.5.1 on Windows 2000.  The following snippet of code doesn't
> > > seem to do anything - no error is reported, and there is no name change.
> > >
> > > names(myFrame[,c(1:3)]) <- c("name1", "name2", "name3")
> > >
> > > This code however works nicely:
> > >
> > > names(myFrame)[c(1:3)] <- c("name1", "name2", "name3")
> > >
> > > Can anyone suggest why the first doesn't work?  Ought an error be reported?
> >
> >It does work.  It creates a new object myFrame[,c(1:3)] and changes its
> >names.  That's not what you wanted, but R is your servant not your master
> >and does allow you to do such things.
>
> I'm sorry but I'm still confused.  Do you mean that another object called
> myFrame is created, with the new names?  It doesn't appear in the objects()
> list.  The original is still there, within unchanged names.

No, an object is created with the new names, but as you did not assign it
so it does not have a name and is deleted at the next garbage collection.

Your call is almost equivalent to

tmp <- myFrame[,c(1:3)]
tmp <- "names<-"(tmp, c("name1", "name2", "name3"))

with `tmp' being an object not associated with a symbol in the symbol
table.

-- 
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 272860 (secr)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help 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-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list