[R] How to duplicate rows in dataframe?

Berton Gunter gunter.berton at gene.com
Mon Dec 13 21:22:58 CET 2004


?match

ix<-df$index ## just for clarity

df[match(x,ix),]

-- Bert Gunter
Genentech Non-Clinical Statistics
South San Francisco, CA
 
"The business of the statistician is to catalyze the scientific learning
process."  - George E. P. Box
 
 

> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch 
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of cstrato
> Sent: Monday, December 13, 2004 11:03 AM
> To: r-help at stat.math.ethz.ch
> Subject: [R] How to duplicate rows in dataframe?
> 
> Dear all:
> 
> I have the following (simple?) problem:
> Consider a dataframe where the first column contains
> integers used as index, e.g.
>     index
>      24
>      13
>      46
>      32
> 
> Now I have the following vector used to sort the dataframe:
>     x <- c(13,24,32,46)
> Sorting the dataframe can be done by using order.
> 
> However consider the following vector:
>     x <- c(13,32,13,24,46,24,24)
> Now I want to get the dataframe in the order of the rows
> defined in x, i.e. the dataframe contains duplicate rows.
> One way to achieve this would be to use rbind in a for-loop.
> 
> My question is:
> Is there an easier and - more important - faster way to
> obtain the dataframe as defined in x?
> 
> Thank you in advance.
> Best regards
> Christian
> _._._._._._._._._._._._._._._._
> C.h.i.s.t.i.a.n S.t.r.a.t.o.w.a
> V.i.e.n.n.a       A.u.s.t.r.i.a
> _._._._._._._._._._._._._._._._
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html
>




More information about the R-help mailing list