我在R中有一个data.table,我试图写出.txt文件,然后输入回R。
这是6.5M观测和20个变量的大型表,所以我想使用fread()。
当我使用
时write.table(data, file = "data.txt")
大约2.2GB的表格用data.txt编写。在手动检查它时,我可以看到有列名称,它被" ",并且在字符变量上有引号。所以一切都应该没问题。
然而,
data <- fread("data.txt")
返回6.5M观测值和1个变量的data.table。好吧,也许由于某种原因fread()不能自动理解分隔符字符串:
data <- fread("data.txt", sep = " ")
现在所有数据都在适当的变量中,但是
也许fread()不会以某种方式识别标题。
data <- fread("data.txt", sep = " ", header = T)
现在我的第一组观察是我的专栏名称。不太有用。
我完全不知所措。有谁知道这里发生了什么?
编辑:
row.names = F
解决了姓名问题,感谢Ananda Mahto。
冉
datasub <- data[runif(1000,1,6497651), ]
write.table(datasub, file = "datasub.txt", row.names = F)
fread("datasub.txt")
fread()
似乎适用于较小的数据集。
编辑:
以下是我在上面创建的数据子集:
https://github.com/cbcoursera1/ExploratoryDataAnalysisProject2/blob/master/datasub.txt
该数据来自国家排放清单(NEI),由EPA提供。有关更多信息,请访问:
http://www.epa.gov/ttn/chief/eiinformation.html
编辑:
我无法再重现此问题。可能row.names = F
解决了这个问题,或者可能重启R /清除我的环境/随机解决问题。