大型csv文件无法完全读入R data.frame

时间:2014-10-12 23:22:43

标签: r csv

我正在尝试将一个相当大的csv文件加载到R中。它有大约50列和200万行。

我的代码非常基本,我以前用它来打开文件,但没有这么大。

mydata <- read.csv('file.csv', header = FALSE, sep=",", stringsAsFactors = FALSE)

结果是它读入数据但在1080000行左右后停止。这大致也是excel停止的地方。他们的方式让R读取整个文件?为什么它会在中途停止。

更新:(11/30/14) 在与数据提供者交谈后,发现它们可能是文件的一些损坏问题。提供了一个新文件,它也更小,可以轻松加载到R中。

2 个答案:

答案 0 :(得分:2)

as,&#34; read.csv()&#34;读取最多1080000行,&#34; fread&#34;来自库(data.table)应该轻松阅读它。如果没有,还有两个其他选项,可以尝试使用库(h20)或使用&#34; fread&#34;您可以使用select选项来读取所需的列(或读取两半,进行一些清理并将它们合并回来)。

答案 1 :(得分:1)

您可以尝试使用read.table并包含参数colClasses以指定各列的类型。

使用当前代码,R将首先读取所有数据作为字符串,然后检查每列是否可转换e。 G。到一个数字类型,它需要更多的内存,而不是立即读取数字。 colClasses还允许您忽略可能不需要的列。