繁体   English   中英

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

[英]Large csv file fails to fully read in to R data.frame

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

我的代码很基本,我以前曾用它打开过文件,但没有那么大。

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

结果是它读入数据,但在1080000行左右后停止。 这也是excel停止的地方。 他们是让R读取整个文件的方法吗? 为什么它停止约一半。

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

由于“ read.csv()”最多读取1080000行,因此从library(data.table)读取“ fread”应该很容易。 如果没有,则存在另外两个选项,或者尝试使用library(h20)或使用“ fread”,您可以使用select选项来读取所需的列(或读入两半,进行一些清理,然后可以将它们合并回去)。

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

使用您当前的代码,R将首先以字符串的形式读取所有数据,然后检查每一列是否可转换(例如,转换为数字类型),这比立即读取作为数字需要更多的内存。 colClasses还可以让您忽略可能不需要的列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM