0

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

    library(tidyverse)
    library(vroom)
    Sys.setenv("VROOM_CONNECTION_SIZE" = 131072 * 10)
    data <- vroom("data.csv", delim = ",")
    
    subset_data <- data %>%
    filter(ID %in% list) 

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

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

4

0 回答 0