[R] dataframe manipulation

William Dunlap wdunlap at tibco.com
Fri Dec 13 23:14:05 CET 2013


> >  d[match(unique(d$fac),d$fac),]

The following does the same thing a little more directly (and quickly)
   d[ !duplicated(d$fac), ]

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com


> -----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]]
> >
> > ______________________________________________
> > 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.
> >
> >
> 
> 	[[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