[R] How to duplicate rows in dataframe?

cstrato cstrato at aon.at
Mon Dec 13 22:31:43 CET 2004

Thank you all (Olaf Mersmann, Berton Gunter, James Holtman,
Peter Aspach) for your fast reply.

The solutions:
    df[match(x,ix),]   and
are exactly what I was looking for.

Best regards

Berton Gunter wrote:

> ?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
>>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
>>PLEASE do read the posting guide! 

More information about the R-help mailing list