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

2024-06-28

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

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

}

随着我的成长,这变得非常缓慢。这是为什么?我怎样才能使这种类型的代码更快?


你在地狱第二圈 http://www.burns-stat.com/pages/Tutor/R_inferno.pdf,即未能预分配数据结构。

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

随着数据帧变大,如何防止 rbind() 变得非常慢? 的相关文章

  • “内存泄漏”剖析

    从 NET 角度来看 什么是内存泄漏 https en wikipedia org wiki Memory leak 如何确定您的应用程序是否存在泄漏 有什么影响 如何防止内存泄漏 如果您的应用程序存在内存泄漏 当进程退出或被终止时它会消失
  • 在 R 中,将一列值与所有其他列进行比较

    我对 R 非常陌生 我有一个问题对于这里的专家来说可能非常简单 假设我有一个表 sales 其中包含 4 个客户 ID 123 126 和 4 个产品 A B C D ID A B C D 123 0 1 1 0 124 1 1 0 0 1
  • 合并结果的行数多于一个数据框

    我有两个数据框 第一个包含 9994 行 第二个包含 60431 行 我想合并两个数据框 以便合并后的数据框包含两个数据框的组合列 但只包含 9994 行 但是 合并后我得到了超过 9994 行 我怎样才能确保这种情况不会发生 df1 re
  • 在 Javascript 中实现 Zobrist 哈希

    我需要在 Javascript 中为国际象棋引擎实现 Zobrist 哈希 我想知道实现此目的的最佳方法是什么 现在 我不是计算机科学家 也从未上过正式的算法和数据结构课程 所以如果我在这方面有点偏离 我很抱歉 据我了解 我需要一个 64
  • OpenMP 循环数组访问中的错误共享

    我想利用 OpenMP 来并行执行我的任务 我需要将数组的所有元素减去相同的数量并将结果写入另一个向量中 两个数组都是动态分配的malloc第一个填充了文件中的值 每个元素都有类型uint64 t pragma omp parallel f
  • 为什么 NaN^0 == 1

    受到早期高尔夫代码的提示 为什么会 gt NaN 0 1 1 这非常有道理NA 0为 1 因为NA缺少数据 并且any数字提高到 0 将得到 1 包括 Inf and Inf 然而NaN应该代表非数字 那么为什么会这样呢 当帮助页面出现时
  • R 中带有自定义字段类的参考类?

    我想在另一个引用类中使用自定义引用类 但此代码失败 nameClass lt setRefClass nameClass fields list first character last character methods list ini
  • 如何矢量化 pandas 数据框前向列值搜索

    我想仅在前向搜索 pandas 数据帧列中的目标值 如果找到更大的值 那么我想将索引差异记录为结果列 我已经设法用两个内部 for 循环来做到这一点 但速度慢得令人痛苦 这就是我想在一个简化的示例中实现的目标 import pandas a
  • 在 ggplot2 中使用 FontAwesome 作为点的替代品

    这可能是一个相当基本的事情 但我似乎找不到有意义的答案 我正在尝试使用 R 中的 fontawesome 包将表情符号用作 ggplot2 图表中的点 但我很难弄清楚如何为每个变量分配不同的表情符号 这是一些示例数据 我们将数据框称为 样本
  • 一张 400GB 表,一个查询 - 需要调优思路 (SQL2005)

    我有一个大表 我想对其进行优化 我正在使用 MS SQL 2005 服务器 我将尝试描述它的使用方式 如果有人有任何建议 我将非常感激 该表约400GB 有1亿行 每天插入100万行 该表有 8 列 1 列数据和 7 列用于查找 排序 k1
  • 将嵌套 for 循环转换为 R 中的并行循环

    下面您可以在 R 中找到一段代码 我想将其转换为使用多个 CPU 作为并行进程运行 我尝试使用foreach包 但并没有走得太远 考虑到我有 3 级嵌套循环 我找不到一个很好的例子如何让它工作 我们将非常感谢您的帮助 下面的代码示例 我做了
  • multidplyr :将函数分配给集群

    参见下面的工作解决方案 我想使用 multidplyr 并行化函数 calculs R f lt function x return x 1 main R library dplyr library multidplyr source ca
  • 尝试将行附加到按对象分组中的每个组时出现奇怪的行为

    这个问题是关于一个函数在应用于两个不同的数据帧时以意想不到的方式表现的 更准确地说 是 groupby 对象 要么是我遗漏了一些明显错误的东西 要么是 pandas 中存在错误 我编写了以下函数 将一行附加到 groupby 对象中的每个组
  • 尝试打开 Excel 时出现“KeyError:“存档中没有名为“xl/sharedStrings.xml”的项目”

    我正在尝试使用 Python 脚本将数据导入 PowerBi 以便我可以安排它定期刷新数据 我面临着从 Excel 文件获取数据并收到错误的挑战 KeyError 没有名为 xl sharedStrings xml 的项目在档案中 导入时
  • 从数据框中提取具有最高值和最低值的行

    我对 R 还很陌生 我主要用它来可视化统计数据ggplot2图书馆 现在我遇到了数据准备的问题 我需要编写一个函数 该函数将从数据框中删除指定列中具有最高和最低值的一些数字 2 5 或 10 行 并将它们放入另一个数据框中 并对两个因素的每
  • int NA 的内部表示[重复]

    这个问题在这里已经有答案了 这是关于 R 内部结构的问题 R 中如何表示整数 NA 值 与浮点不同 没有神奇的位序列来表示 NaN Create big array newer versions of R won t allocate me
  • 有什么方法可以使用 LISTEN 和 NOTIFY (或 Node JS)实时监控 Postgresql 查询变化?

    所以我有一个自定义的 Postgresql 查询 它检索指定经度纬度半径内的所有行 如下所示 SELECT earth distance ll to earth 1 2 ll to earth lat lng as distance met
  • 绘图中的文本错误 | Jupyter-R

    我正在尝试在通过 Anaconda 安装的 Jupyter 笔记本上使用 R 中的 ggplot2 绘制一个带有一些数据的简单散点图 以下是我使用的代码 ggplot data df1 1 1000 geom point mapping a
  • 如何附加到二维切片

    我有逐行 6 列创建的数据 我事先不知道最终的行数 目前 我正在创建一个全为零的 200x6 二维切片 然后我逐渐用我的数据逐行替换这些零 数据来自另一个数据框 df 它有效 但我不喜欢最终我的切片的最后一行全是零 我看到两种解决方案 完成
  • tmap 仅在 sf 几何列中绘制第一个多边形

    tmap 仅绘制 sf 几何列中的第一个多边形 但是plot 得到他们全部 一些 github 问题tmap https github com mtennekes tmap issues 360 and leaflet https gith

随机推荐

  • macOS High Sierra 与 CAShapeLayers、NSImageView、NSTableView 冲突

    我已经更新到 macOS High Sierra 现在我的项目出现了意想不到的问题 这些问题以前在 macOS Sierra 中没有见过 我有自定义 NSImageView 并在其中拖放图像后NSImageView我可以使用在图像顶部绘制矩
  • 覆盖 Woocommerce 子主题不起作用

    从我的子主题覆盖 Woocommerce 文件根本不起作用 我确信一切都是100 正确的 真是令人沮丧 我正在遵循此页面视频中的每一步 https docs woocommerce com document template struct
  • C++ unique_ptr 与友元类私有析构函数

    我有这样的安排 class LexedFile friend class Lex private LexedFile class Lex private std map
  • 如何使用 GDB 从多个文件中查找分段错误

    我在面试中被问到如何使用 GDB 调试 C 程序中的分段错误 我告诉他们我们可以用以下命令编译我们的程序 g选项 这样它将调试信息添加到二进制文件中 并且可以读取核心转储文件 但面试官告诉我 如果他有 3 到 4 个文件编译在一起 但其中一
  • 我可以使用 443 以外的其他端口进行 HTTPS/SSL 通信吗?

    443 端口通常用于 HTTPS SSL 但这是我们可以选择 HTTPS SSL 通信的唯一选项吗 如果没有 为什么 端口号并不 神奇 您可以使用 1 65535 之间的任何您喜欢的端口 只有2个条件 服务器和客户端都必须 同意 使用相同的
  • 如何使用 JavaScript 查找字符串中的整数之和

    我使用正则表达式创建了一个函数 然后通过将前一个总计添加到数组中的下一个索引来迭代数组 我的代码不起作用 我的逻辑有问题吗 忽略语法 function sumofArr arr here i create a function that h
  • 在“git revert --continue”期间绕过预提交挂钩

    我当时正在做一个git revert 之前的恢复 这导致了一些合并冲突 解决冲突后 我的预提交挂钩引发了一些代码嗅探器问题 由于这些代码嗅探器通知已在其他地方修复 我想在此时使用绕过预提交挂钩git revert continue no v
  • ngx_http_brotli_filter_module.so" 与 /etc/nginx/nginx.conf:1 中的二进制不兼容

    Using Nginx 1 17 3 and Nginx 1 14 0在两台独立服务器上的 Ubuntu 18 上 两者都显示相同的错误ngx http brotli filter module so is not binary compa
  • cytoscape.js 页面上有多个实例

    我在同一网页上设置两个 cytoscape 实例时遇到问题 我有两个窗口变量 cy 和 cy2 用于不同的图形 它们是功能不同的图表 需要在页面的不同部分可用 我想知道如何正确设置 当我查看页面元素时 未显示的元素的底层画布的宽度和高度被
  • 绝对路径到相对路径(Eclipse、JSP)[重复]

    这个问题在这里已经有答案了 我正在 Eclipse JSP 中制作一个 Web 应用程序 并使用 Tomcat 作为服务器 集成到 Eclipse 中 我必须创建下面的对象并指定配置文件的路径 这个绝对路径效果很好 Store store
  • 读取 12 MB 的大文件时出现问题 (java.lang.OutOfMemoryError)

    我需要打开一个 12 MB 的文件 但实际上我正在创建一个 12834566 字节的缓冲区 因为文件的大小是 12MB 而且我正在为 Android 移动系统开发这个应用程序 然后 我想我必须用 for 读取 1024 KB 的块而不是 1
  • 现有的 Angular 2 应用程序和 Cordova

    我做了一些搜索 似乎找不到我的问题的答案 我有一个现有的 Angular 2 应用程序 我可以使用 Cordova 为多个平台构建它吗 如果没有 是否需要采取特殊措施来实现这一目标 有没有关于其工作原理的实际文档 在提出建议之前 我会先声明
  • 如何计算重叠面积? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有两个重叠的矩形 我需要计算重叠面积 宽度和高度 请这张图 如果矩形 r1 位于 x1 y1 处 宽度为 w1 h1 同样 矩形 r2 位于 x2 y
  • 适用于 Windows Phone 8 的 Http Post

    我是 C 新手 所以我想知道是否有人可以帮助我解决这个问题 我正在尝试将 HttpPost 从 Windows Phone 8 发送到服务器 我找到了两个我想合并的例子 第一个是发送 Http Post 的示例 http msdn micr
  • Django 表单指示输入类型

    恐怕我正在努力解决另一个基本问题 我已经浏览了各种 Django 文档页面并搜索了这个站点 我在这里找到的唯一内容是在 2013 年 其中建议设置自定义过滤器模板 无论如何 我试图生成我自己的表单 而不是使用 Django 自己的方式通过
  • 创建初始值为 0 的信号量会导致执行问题

    我正在学习 GCD 并有关于信号量的问题 这是我的代码 class ViewController UIViewController var semaphore dispatch semaphore t nil override func v
  • 如何在机器代码级别处理数学等式运算符

    所以我今天想问一个相当存在主义的问题 我觉得大多数程序员都会跳过这个问题 只是将其视为有效的东西 而没有真正询问它 如何 工作的问题 问题相当简单 gt 运算符如何编译为机器代码 以及该机器代码是什么样的 在最底部 它必须是大于测试 并与
  • 如何在谷歌地图中隐藏当前位置? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我在我的项目中实现了谷歌地图 我想隐藏默认的当前位置标记 请参阅附图 但是 我需要显示允许转到我当前位置的按钮 标记在右上角 您可以使用 G
  • 在 Python 中解析复杂制表符分隔/csv 文件的循环

    需要明确的是 我对编程非常陌生 而且我正在使用 Python 3 3 现在我有很多文件具有相同的基本布局 每个文件有 9 列 以制表符分隔 标题行数量可变 但大多数文件有 5 行 行或列没有标题 看起来像这样 header1 header2
  • 随着数据帧变大,如何防止 rbind() 变得非常慢?

    我有一个只有 1 行的数据框 为此 我开始使用 rbind 添加行 df mydataframe with only one row for i in 1 20000 df lt rbind df newrow 随着我的成长 这变得非常缓慢