[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