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.