Re: data.frame, cbind is inconsistent with S on logicals (PR#316)

About this list Date view Thread view Subject view Author view Other groups

Subject: Re: data.frame, cbind is inconsistent with S on logicals (PR#316)
ripley@stats.ox.ac.uk
Date: Wed 10 Nov 1999 - 21:59:43 EST


Message-Id: <199911101159.MAA19623@pubhealth.ku.dk>

> From: Peter Dalgaard BSA <p.dalgaard@biostat.ku.dk>
> Date: 10 Nov 1999 12:14:33 +0100
>
> ripley@stats.ox.ac.uk writes:
>
> > R 0.65.1 (and R-devel 09/11/99)
> >
> > > z <- data.frame(a=1:3)
> > > b <- rep(NA, 3)
> > > mode(b)
> > [1] "logical"
> > # how many of you expected that? I had forgotten!
> > > zz <- cbind(z, b)
> > > zz
> > a b
> > 1 1 NA
> > 2 2 NA
> > 3 3 NA
> > > class(zz$b)
> > [1] "factor"
> >
> > whereas in S it is NULL and zz$b is of mode "numeric".
> >
> > The same thing happens with data.frame
> >
> > zz <- data.frame(a, b)
> >
> > gives zz$b as a factor in R and numeric in S.
> >
> > I don't think this is a desirable difference, at least with all NAs!
>
> Hmmm. Notice that in *both* R and S3,
>
> > class(data.frame(x=TRUE)$x)
> [1] "factor"
>
> And in both dialects, NA is a logical constant. So S3 is doing a
> special exception for all-NA logical vectors. Of course, we could just
> clone that...

It isn't: I was using the S4-style data frame code in my copy of
S-PLUS 3.4 (it is needed for some recent extensions) and had not
noticed. And S4 keeps these logical, which seems much more desirable
to me. In both R and S it is a quirk that

z$b <- b

and

z <- cbind(z, b)

are different, but not in S4 nor in S3+library(df)

I withdraw this.

-- 
Brian D. Ripley,                  ripley@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-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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b25 : Tue 04 Jan 2000 - 14:16:09 EST