2017-08-11 86 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