R - 加载大型数据集问题(250MB)

时间:2017-08-25 19:49:12

标签: r bigdata

我正在尝试导入一个庞大的数据集(稍后进行分析),但我只想要4个行(它们按实用程序分类,我只对其中的一些感兴趣)。

问题是:格式化是奇怪的和巨大的,我不断收到有关没有足够列名的错误。

格式化如下:每一行都是一个公用事业区域,每列都是从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时间转换也会很棒 - 谢谢!

2 个答案:

答案 0 :(得分: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")

确保使用这两个代码,您将能够做到这一点!

答案 1 :(得分:0)

这最终为我工作:

wholedata<-fromJSON(file="EBA.json")
print(wholedata)
wholedata_data_frame<-as.data.frame(wholedata)
相关问题