【问题标题】:read.csv.fdff error: cannot allocate vector of size 6607642.0 Gbread.csv.fdff 错误:无法分配大小为 6607642.0 Gb 的向量
【发布时间】:2019-05-05 07:26:46
【问题描述】:

我需要将一个 4.5GB 的 csv 文件读入 RStudio,为了克服内存问题,我使用了 ff 包中的 read.ffdf 函数。但是,我仍然收到数据太大的错误消息

错误:无法分配大小为 6607642.0 Gb 的向量

我不知道为什么。非常感谢任何帮助!

options(fftempdir="C:/Users/Documents/")

CRSPDailyff <- read.csv.ffdf(file="CRSP_Daily_Stock_Returns_1995-2015.csv")

【问题讨论】:

  • 没有可重现的例子很难帮助你。无论如何,请尝试使用: data.table 包中的 fread() 。它会给你一个“data.table”类的对象,它与data.frame非常相似,虽然有时很古怪。您可以通过使用 as.data.frame(x) 或在 fread() 的参数中使用 data.table=FALSE 轻松地将其转换为您熟悉的 data.frame。或者,我建议你这篇文章:rstudio-pubs-static.s3.amazonaws.com/…
  • 您是否尝试过使用小块加载数据并使用 rbind 连接每个块?
  • 也许你可以试试data.table package
  • 试试昨天刚刚出现在 CRAN 上的新 vroom 包。

标签: r bigdata ff


【解决方案1】:

我怀疑你可以使用 next.rows 参数来克服这个限制。

请尝试:

options(fftempdir="C:/Users/Documents/")

CRSPDailyff <- 
read.csv.ffdf(file="CRSP_Daily_Stock_Returns_1995-2015.csv", next.rows = 100000)

用其他值对next.rows进行实验,我个人在校园的4GB机器上使用500000。

其他评论者的使用建议

【讨论】:

    猜你喜欢
    • 2021-04-03
    • 2019-10-05
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    相关资源
    最近更新 更多