gpt4 book ai didi

r - 随着数据框变大,如何防止 rbind() 变得非常慢?

转载 作者:行者123 更新时间:2023-12-04 05:19:00 26 4
gpt4 key购买 nike

我有一个只有 1 行的数据框。为此,我开始使用 rbind 添加行

df #mydataframe with only one row
for (i in 1:20000)
{
df<- rbind(df, newrow)

}

随着我的成长,这变得非常缓慢。这是为什么?以及如何使这种类型的代码更快?

最佳答案

您在 2nd circle of hell ,即未能预先分配数据结构。

以这种方式增长对象在 R 中是一件非常非常糟糕的事情。预分配和插入:

df <- data.frame(x = rep(NA,20000),y = rep(NA,20000))

或重组您的代码以避免这种增量添加行。正如我在引用的链接中所讨论的那样,速度缓慢的原因是每次添加一行时,R 都需要找到一个新的连续内存块来适应数据帧。大量复制。

关于r - 随着数据框变大,如何防止 rbind() 变得非常慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14693956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com