问题标签 [vroom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
186 浏览

r - R:从 txt 文件中读取列标题略有不同(不同空格)的特定列并绑定它们?

我有许多txt文件在由 ; 分隔的列中包含相同类型的数值数据。但是有些文件的列标题带有空格,而有些则没有(由不同的人创建)。有些有我不想要的额外列。

例如,一个文件可能有如下标题:

而另一个文件头可能是

在调用“读取”命令之前,如何清除名称中的空格?

清理标题脚本

我编写了一个破坏性脚本,它将读取整个文件,清理空格标题,删除文件并重新写入(vroom 有时抱怨无法打开 X 数千个文件)使用相同的文件姓名。不是一种高效的做事方式。

0 投票
1 回答
128 浏览

r - 使用 vroom 在 R 中读取日期列和所有其他列作为双精度

我有 csv 文件,其中包含超过 10000 个变量。我想使用 vroom 来读取它们,并希望将第 1 列标识为日期,将第 2 列标识为字符,第 3 列和第 4 列标识为整数,并将所有其余列标识为双精度。我该怎么做呢?

我的代码看起来像这样,但失败了。

告诉 vroom 在其余列中读取为双精度(替换我的代码中的 (.) 的语法是什么?谢谢。

0 投票
1 回答
114 浏览

r - 为什么 vroom 这么慢?

我有一个简单的操作,我读取了几个 csv,绑定它们,然后导出,但vroom执行速度比其他方法慢得多。我一定做错了什么,但我不确定是什么,或者为什么。

reprex 包于 2021-07-01 创建 (v2.0.0 )

0 投票
1 回答
1186 浏览

r - 使用 vroom 在 R 中部分读取非常大的 csv.gz

我有一个 csv.gz 文件(据我所知),压缩前的大小为 70GB。我的机器有 50GB 的 RAM,所以无论如何我永远无法在 R 中将它作为一个整体打开。

例如,我可以按如下方式加载前 10m 行:

对于我必须做的事情,一次加载 10m 行,做我的操作,然后继续接下来的 10m 行就可以了。我可以循环执行此操作。

因此,我尝试了这个skip论点。

这会导致错误:

我增加了这个Sys.setenv("VROOM_CONNECTION_SIZE" = 131072*1000),但是,错误仍然存​​在。

有针对这个的解决方法吗?

编辑:我发现随机访问 gzip 压缩的 csv (csv.gz) 是不可能的。我们必须从头开始。可能最简单的是解压缩并保存,然后跳过应该可以工作。

0 投票
1 回答
287 浏览

r - Vroom/fread 不会读取 LARGE .csv 文件 - 无法对其进行内存映射

我有一个.csv重量为 112GB 的文件,但既不vroomdata.table::fread不会打开它。即使我要求读取 10 行或仅几列,它也会抱怨映射错误:无法分配内存。

read.csv另一方面会愉快地阅读十行。

为什么不使用通常的 altrepvroom或阅读它,即使是 10 行?fread

0 投票
1 回答
33 浏览

r - 通过 vroom 和管道压缩文件到 pixz

我想使用 vroom 包mtcars使用压缩(xz在我的情况下)将 data.frame 写入文件,pixz但我无法让它写入文件。它抱怨它pixz不存在,即使它是在本地安装的。

根据 vroom 小插图(https://vroom.r-lib.org/articles/vroom.html):使用单线程压缩:

使用并行实现和管道压缩到 pixz

0 投票
0 回答
60 浏览

r - 无法在 HPC 节点的 R.4.0.5 下安装 vroom

为了在 HPC 节点上安装另一个依赖于 vroom(失败)的软件包,我试图手动安装 vroom。

我尝试手动安装软件包,但也失败了:

我的代码:

错误信息:

我尝试过不同的 R 版本(3.5.3 到 4.1.1),但无论我选择什么版本,都会遇到同样的问题。

我还删除了在相应 R 版本包文件夹中的过程中可能出现的任何 00LOCK-“包名称”文件夹,但无济于事。

有人可以帮我吗?

提前谢谢了,

菲利伯图斯88

0 投票
0 回答
259 浏览

r - R readr read_csv 跳过错误与 VROOM_CONNECTION_SIZE

我有一个大的 (~18gb) csv 文件,我想以大块的形式阅读。块被单独处理(过滤)和连接。因为我正在遍历几个块,所以我使用了函数的skip参数read_csv

下面是一个块的例子:

我的问题是,如果skip参数足够大(~500 000 +),我会收到以下错误:

错误:连接缓冲区(131072)的大小不足以容纳整行:通过设置增加它Sys.setenv("VROOM_CONNECTION_SIZE")

我已经尝试更改它(Sys.setenv("VROOM_CONNECTION_SIZE" = 131072 * 10000)),但问题仍然存在。现在skip参数必须随着我遍历块而增加,因此无论初始块大小如何,它都会在产生错误时达到阈值。

我认为这可能是由于 RAM 不足引起的,但我可以读取比它产生错误时的值大得多的初始块skip(例如chunk_size = 5000000,工作,而row_skip = 2000000已经产生错误)。

0 投票
1 回答
39 浏览

r - 将data.frame转换为R中分隔字符串的函数的高性能实现

我正在寻找一个快速序列化函数来将 data.frame 转换为 R 中的分隔字符串。目前我正在使用readr::format_tsv(Versions readr_2.0.0 vroom_1.5.3) 进行转换,我想知道是否有更快的实现可用。对于下面的示例,转换大约需要 4.4 秒,这对于我的目的来说太慢了。

系统时间()

例子

0 投票
0 回答
40 浏览

r - dplyr 过滤器可以成功检测到的观察数量是否有限制?

我正在处理一个包含超过 2 亿行的大型数据集。我使用 vroom 包加载数据集以加快处理时间。当我使用 %in% 条件过滤数据集时,该过程会丢失观察结果。我想知道 dplyr 将成功过滤多少行是否存在限制。对于可重现的示例,数据集太大而无法加载,但我用来执行过滤过程的代码是(大致):

其中数据集“data.csv”包含 2 亿个观测值,“ID”是“数据”数据框中的列名,“列表”是符合所需搜索条件的 ID 号向量。

我预计大约有 600 万行符合标准,但返回的行数略多于 300 万。我想知道过滤器可以搜索的行数是否有限制。例如,如果我只能搜索 1 亿行,就可以解释为什么我错过了大约一半的预期观察结果。或者,使用 vroom 加载数据会影响我可以成功过滤的行数吗?