Hi, You can also use grep() to subset:
LD<-paste0(rep(rep(c(3,4),each=4),2),c(rep("L",8),rep("D",8))) set.seed(1) dat1<-data.frame(LD=LD,value=sample(1:15,16,replace=TRUE)) dat2<-within(dat1,{LD<-as.character(LD)}) dat2[grepl(".*L",dat2$LD),] # subset all L values dat2[grepl(".*D",dat2$LD),] # subset all D values dat2[grepl("3D",dat2$LD),] dat2[grepl("4D",dat2$LD),] A.K. ----- Original Message ----- From: Charles Determan Jr <deter...@umn.edu> To: r-help@r-project.org Cc: Sent: Friday, September 28, 2012 2:59 PM Subject: [R] Better way of Grouping? Hello R users, This is more of a convenience question that I hope others might find useful if there is a better answer. I work with large datasets that requires multiple parsing stages for different analysis. For example, compare group 3 vs. group 4. A more complicated comparison would be time B in group 3 of group L with B in group 4 of group L. I normally subset each group with the following type of code. data=read(...) #L v D L=data[LvD %in% c("L"),] D=data[LvD %in% c("D"),] #Groups 3 and 4 within L and D group3L=L[group %in% c("3"),] group4L=L[group %in% c("3"),] group3D=D[group %in% c("3"),] group4D=D[group %in% c("3"),] #Times B, S45, FR2, FR8 you get the idea Is there a more efficient way to subset groups? Thanks for any insight. Regards, Charles [[alternative HTML version deleted]] ______________________________________________ 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.