Mar*_*ark 8 performance r append dataframe rbind
我有一个只有1行的数据帧.为此,我开始使用rbind添加行
df #mydataframe with only one row
for (i in 1:20000)
{
df<- rbind(df, newrow)
}
Run Code Online (Sandbox Code Playgroud)
随着我的成长,这变得非常缓慢.这是为什么?以及如何更快地制作此类代码?
jor*_*ran 17
以这种方式增长对象是R中非常糟糕的事情.预分配和插入:
df <- data.frame(x = rep(NA,20000),y = rep(NA,20000))
Run Code Online (Sandbox Code Playgroud)
或者重构代码以避免这种增量行的增量.正如在我引用的链接中所讨论的那样,缓慢的原因是每次添加一行时,R需要找到一个新的连续内存块以适应数据帧.很多复制.
归档时间: |
|
查看次数: |
9685 次 |
最近记录: |