我正在尝试将一个相当大的csv文件加载到R中。它有大约50列和200万行。
我的代码非常基本,我以前用它来打开文件,但没有这么大。
mydata <- read.csv('file.csv', header = FALSE, sep=",", stringsAsFactors = FALSE)
结果是它读入数据但在1080000行左右后停止。这大致也是excel停止的地方。他们的方式让R读取整个文件?为什么它会在中途停止。
更新:(11/30/14) 在与数据提供者交谈后,发现它们可能是文件的一些损坏问题。提供了一个新文件,它也更小,可以轻松加载到R中。
答案 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还允许您忽略可能不需要的列。