-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
Of Gang Chen
Sent: Friday, December 13, 2013 1:35 PM
To: arun
Cc: R help
Subject: Re: [R] dataframe manipulation
Perfect! Thanks a lot, A.K!
On Fri, Dec 13, 2013 at 4:21 PM, arun <smartpink111 at 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 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]]