Perfect! Thanks a lot, A.K!


On Fri, Dec 13, 2013 at 4:21 PM, arun <smartpink111@yahoo.com> wrote:

>
>
> Hi,
> Try:
>  d[match(unique(d$fac),d$fac),]
> A.K.
>
>
> On Friday, December 13, 2013 4:17 PM, Gang Chen <gangchen6@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]]

