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