On Tue, 10 Feb 2009 xinlee...@stat.math.ethz.ch wrote:


I discover annoying bug in subsetting data frame.  Here is reproducable
examples:

These are not bugs.

data.frame <- data.frame(x = runif(5), y = runif(5), row.names =
c('a','b','c','d','e')

subset <- data.frame['x']
subset['a',]
work

subset <- data.frame$x
subset['a',]
not work

This can't possibly work, since you have explicitly requested that subset not 
be a data frame.

There has been recent discussion about whether row names should be added as 
names to vectors from a data frame, in which case subset['a'] would then work. 
It doesn't now, and that isn't a bug either.

subset <- data.frame['a',]
subset[,'x']
work

subset <- data.frame[,'x']
subset['a',]
not work

This is also not a bug.  The drop= option to [ controls what happens when the 
subset has dimensions of length 1. If you want subset to be a data frame in 
this context, use
  subset <- data.frame[,'x',drop=FALSE]
and then subset['a',] will do want you want.

       -thomas

Thomas Lumley                   Assoc. Professor, Biostatistics
tlum...@u.washington.edu        University of Washington, Seattle

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to