[R] Getting subsets of a data frame

Fernando Saldanha fsaldan1 at gmail.com
Sat Apr 16 13:53:25 CEST 2005


Thanks, it's interesting reading.

I also noticed that 

sw[, 1, drop = TRUE] is a vector (coerces to the lowest dimension)

but

sw[1, , drop = TRUE] is a one-row data frame (does not convert it into
a list or vector)

FS


On 4/16/05, Bill.Venables at csiro.au <Bill.Venables at csiro.au> wrote:
> You should look at
> 
> > ?"["
> 
> and look very carefully at the "drop" argument.  For your example
> 
> > sw[, 1]
> 
> is the first component of the data frame, but
> 
> > sw[, 1, drop = FALSE]
> 
> is a data frame consisting of just the first component, as
> mathematically fastidious people would expect.
> 
> This is a convention, and like most arbitrary conventions it can be very
> useful most of the time, but some of the time it can be a very nasty
> trap.  Caveat emptor.
> 
> Bill Venables.
> 
> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Fernando Saldanha
> Sent: Saturday, 16 April 2005 1:07 PM
> To: Submissions to R help
> Subject: [R] Getting subsets of a data frame
> 
> I was reading in the Reference Manual about Extract.data.frame.
> 
> There is a list of examples of expressions using [ and [[, with the
> outcomes. I was puzzled by the fact that, if sw is a data frame, then
> 
> sw[, 1:3]
> 
> is also a data frame,
> 
> but
> 
> sw[, 1]
> 
> is just a vector.
> 
> Since R has no scalars, it must be the case that 1 and 1:1 are the same:
> 
> > 1 == 1:1
> [1] TRUE
> 
> Then why isn't sw[,1] = sw[, 1:1] a data frame?
> 
> FS
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>




More information about the R-help mailing list