RE: [R] Getting subsets of a data frame

From: <Bill.Venables_at_csiro.au>
Date: Sat 16 Apr 2005 - 15:25:45 EST


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@stat.math.ethz.ch
[mailto:r-help-bounces@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@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

R-help@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 Received on Sun Apr 17 09:14:14 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:13 EST