[R] dataframe manipulation

arun smartpink111 at yahoo.com
Fri Dec 13 22:21:17 CET 2013



Hi,
Try:
 d[match(unique(d$fac),d$fac),]
A.K.


On Friday, December 13, 2013 4:17 PM, Gang Chen <gangchen6 at 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 at 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.




More information about the R-help mailing list