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: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] 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

Reply via email to