Perfect! Thanks a lot, A.K!
On Fri, Dec 13, 2013 at 4:21 PM, arun <smartpink...@yahoo.com> wrote: > > > Hi, > Try: > d[match(unique(d$fac),d$fac),] > A.K. > > > On Friday, December 13, 2013 4:17 PM, Gang Chen <gangch...@gmail.com> > wrote: > Suppose I have a dataframe defined as > > L3 <- LETTERS[1:3] > (d <- data.frame(cbind(x = 1, y = 1:10), fac = sample(L3, 10, replace > = TRUE))) > > x y fac > 1 1 1 C > 2 1 2 A > 3 1 3 B > 4 1 4 C > 5 1 5 B > 6 1 6 B > 7 1 7 A > 8 1 8 A > 9 1 9 B > 10 1 10 A > > I want to extract those rows that are the first occurrences for each level > of factor 'fac', which are basically the first three rows above. How can I > achieve that? The real dataframe is more complicated than the example > above, and I can't simply list all the levels of factor 'fac' by > exhaustibly listing all the levels like the following > > d[d$fac=='A' | d$fac=='B' | d$fac=='C', ] > > Thanks, > Gang > > [[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. > > [[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.