使用ff在R中处理大型固定长度文件

使用ff在R中处理大型固定长度文件,r,ff,R,Ff,我做了一些研究和ff包似乎有什么我正在寻找。但是,我不知道如何在我当前的场景中使用它。以下是我得到的: 我有一个固定长度的文件,没有行终止符(所有数据都在一行中) 记录长度为1577,共55列 根据记录长度,文件中的记录总数>900万条 可以想象,通过R处理这个文件通常会破坏我的RAM。我如何加载这样的文件 下面是我用来处理能够加载到RAM中的较小文件的代码。这会将我的机器冻结在较大的文件上: conn您是否考虑过打开流式连接并使用readChar将数据块传递给read.fwf,然后使用wr

我做了一些研究和ff包似乎有什么我正在寻找。但是,我不知道如何在我当前的场景中使用它。以下是我得到的:

  • 我有一个固定长度的文件,没有行终止符(所有数据都在一行中)
  • 记录长度为1577,共55列
  • 根据记录长度,文件中的记录总数>900万条
可以想象,通过R处理这个文件通常会破坏我的RAM。我如何加载这样的文件

下面是我用来处理能够加载到RAM中的较小文件的代码。这会将我的机器冻结在较大的文件上:


conn您是否考虑过打开流式连接并使用
readChar
将数据块传递给
read.fwf
,然后使用
write.ff
将数据块写入?我这样问是因为在ff包的索引中列出的方法中没有看到fwf read函数。我不知道read.fwf能够处理没有行终止符的文件。我在这方面没有取得任何成功。我还担心我不知道传递块的第一件事。我已经想到了这个主意,但我不知道从哪里开始。哪个字符在分隔记录?没有,记录只是在特定数量的字符后结束。在本例中,在1577,在1578,下一条记录开始,直到另一条1577被读取,依此类推,直到EOF。我想您应该使用
readChar
将流分解为适当长度的块,以便
read.fwf
一次大概1000行。