[R] Getting subsets of a data frame

Bill.Venables@csiro.au Bill.Venables at csiro.au
Sat Apr 16 07:25:45 CEST 2005


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