2017-08-25 75 views
0

我試圖導入一個巨大的數據集(稍後做分析),但我只想要4行(它們按實用程序分類,而我只對在其中幾個)。大型數據集問題(250MB)中的R加載

問題是:該格式是奇怪的和巨大的,我不斷收到有關沒有足夠的列名稱的錯誤。

格式如下:每行是一個公用事業區域,每一列從2015年夏季到現在每一小時,以及其用電量,所以有很多列(2015年至今的小時數x 2)。

我已經試過如下:

> data<-read.table("C:\\Users\\EBA.txt",header=true,nrows=150) 
Error in read.table("C:\\Users\\EBA.txt", : 
    object 'true' not found 
> data<-read.table("C:\\Users\\EBA.txt",header=TRUE,nrows=150) 
Error in read.table("C:\\Users\\EBA.txt", : 
    more columns than column names 
> data<-read.table("C:\\Users\\EBA.txt",header=TRUE,sep=",") 
#cancelled here because it froze my computer 

> data<-read.table("C:\\Users\\EBA.txt",header=TRUE,sep=",]") 
Error in scan(file, what = "", sep = sep, quote = quote, nlines = 1, quiet = TRUE, : 
    invalid 'sep' value: must be one byte 
> data<-read.table("C:\\Users\\EBA.txt",header=TRUE,sep=",") 
Error in read.table("C:\\Users\\EBA.txt", : 
    more columns than column names 

我期待在這裏的生活(「美國電力系統運行數據」的數據集,https://www.eia.gov/opendata/bulkfiles.php

最終,我會想使用日期和用電量,所以閱讀它的使用形式和ISO時間轉換也將是偉大的 - 謝謝!

+3

'read.table'讀取表格文件,而不是JSON。看看https://stackoverflow.com/questions/2617600/importing-data-from-a-json-file-into-r#2617823 – HubertL

+0

你有意識地使用data.table標記嗎?它在問題主體中似乎沒有任何意義......無論如何,我會繼續並將其刪除。 – Frank

+0

@HubertL我不知道JSONs存在!任何喜歡的軟件包來操縱它們?這種格式非常糟糕。感謝您的幫助。 – mcando

回答

0

這結束了對我的工作:

wholedata<-fromJSON(file="EBA.json") 
print(wholedata) 
wholedata_data_frame<-as.data.frame(wholedata) 
0

使用庫data.table或庫h2o

對於使用data.table庫(最快的方式來加載大數據集),你只需要使用命令FREAD函數read.table不是

library(data.table), 
data<-fread("C:\\Users\\EBA.txt") 

另一種選擇,也許是最快的國家之一,是使用H2O:

library(h2o) 
h2o.init(nthreads=-1) 
data<-h2o.importFile("C:\\Users\\EBA.txt") 

當然,有了這2個代碼,你將能夠做到這一點!