Hi. You can try this: df[type%in%type_list, ]
You can also use sqldf package and subset data frames usign sql statements: library(sqldf) df <- data.frame(x1=1:10, type=10:1) type_list <- data.frame(index=seq(1,10,by=2)) sqldf("select df.* from df where df.type in (select * from type_list)") Andrija On Thu, Mar 29, 2012 at 7:25 AM, reeyarn <reey...@gmail.com> wrote: > Hi, > > If my data frame "df" has a index "type", I want to get a subset such > that the type belongs to a "type_list"; > using sql, I want > SELECT name, type FROM df > WHERE type in type_list; > > Now in R I have to write a loop like > mysubset<- df [ df$type == type_list[1], ] > for (type1 in type_list[ 2: length (type_list) ] ) { > mysubset<-cbind (mysubset, df [ df$type == type1, ]) > } > > What is the natural way of doing this in R? Is it possible to use > subset() to attain this? > Thanks! > > Best, > Reeyarn > > On Fri, Dec 3, 2010 at 11:26 AM, William Dunlap <[hidden email]> wrote: >> HI, >> I have a dataframe like this: >> name type >> A t1 >> B t2 >> C t1 >> D t4 >> E t3 >> F t2 >> how can I have a "sub dataframe" based with the column "type" like this: >> (for type = t1) >> name type >> A t1 >> C t1 >> D t1 > > Hi, > > Let's say your data.frame is stored in a variable named "df": > > R> subset(df, type == 't1') > > Read the help files: > > R> ?subset > > Also take a look at ?split > > -steve > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.