[R] select subsets in data frame

Mark Hempelmann neo27 at rakers.de
Wed Jan 10 12:10:05 CET 2007

Dear WizaRds!

A trivial question indeed on selecting subsets in data frames. I am 
sorry. Unfortunately, I did not find any helpful information on the 
introduction, searched the help archive and read in introductory books. 
Please help:

I want to select column "KB" which is read via read.csv2 as a data.frame 
into d. I checked that it is indeed a data.frame object and included the 
correct header information in line 1. For example purposes, look at this 
small object:
<<*>>= (4)
d <- data.frame(A=1:3, Date=c("01.01.07","02.01.07","03.01.07"),
KB=c("Eenie", "Meenie", "Miney") )

d["KB"=="Eenie",] # gives
[1] A    Date KB
<0 rows> (or 0-length row.names)
If I follow Venables/ Ripley in Modern Applied Statistics with S, it 
should look like this:

<<*>>= (5)
gives the correct subset. But
d[KB=="Eenie",] # gives

Error in `[.data.frame`(d, KB == "Eenie", ) :
         object "KB" not found

I need every KB named Eenie. What did I do wrong? The alternative I 
found seems to be quite complicated:

<<*>>= (6)
d[which( d[,"KB"]=="Eenie" ), ]
   A     Date    KB
1 1 01.01.07 Eenie

Thank you so much for your help.


"I believe I found the missing link between animal and civilized man. 
It's us." -- Konrad Lorenz

More information about the R-help mailing list