簡體   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