2017-08-11 84 views
0

我有一個數據框,我想重複。即我想要這樣做 df < -bind_rows(df,df,df) 但理想情況下df會重複10000次。 我還沒有找到一個最佳的方式來做到這一點。 任何想法。重複綁定數據幀到自己

回答

1

開始與data.frame:

df <- data.frame(a=c(1, 2), b=c(3, 4)) 

然後,你可以使用一個for循環:

out <- df 
for (i in seq_len(9999)) { 
    out <- rbind(out, df) 
} 

然後,出將DF重複10000次。唯一的缺點是它需要大約直到宇宙的熱死亡。 或者,更好,更快,道:

do.call("rbind", replicate(10000, df, simplify = FALSE)) 

將複製DF 10000次,然後所有的結果rbind在一起。

+1

我想你應該澄清,循環的方式真的很糟糕。如果不確定我的意思,請參閱R地獄的「圓圈2」http://www.burns-stat.com/documents/books/the-r-inferno/ – Frank

+1

好的電話。增加了關於宇宙熱死的一些機智,我希望這有助於阻止人們增加他們的數據。這本書很棒,應該自動附加(或前置)到R標記的問題的每個答案。 –

1

簡化=假是我錯過了。 df < -bind_rows(replicate(N,df,simplify = False)) 似乎是最好的答案。

+1

好的,您可以在鏈接問題中提出Stibu的答案,這是更全面和正確的寫入FALSE。 – Frank