我正在学习使用data.table
。以下是一些sample text我想要阅读data.table
:
Date Col1 Col2
2014-01-01 123 12
2014-01-01 123 21
2014-01-01 124 32
2014-01-01 125 32
2014-01-02 123 34
2014-01-02 126 24
2014-01-02 127 23
2014-01-03 521 21
2014-01-03 123 13
2014-01-03 126 15
read.table
在这里工作正常:
df <- read.table("dat", header=T)
当我尝试使用fread()
包中的data.table
时,我收到了错误消息:
DT <- fread("dat",header=T)
Error in fread("dat", header = T) :
Not positioned correctly after testing format of header row. ch=' '
我还尝试设置sep
:
DT <- fread("dat",header=T, sep="\t")
然而,结构不对:
它只有1个变量$Date
(它应该是3)。
str(DT)
Classes 'data.table' and 'data.frame': 10 obs. of 1 variable:
$ Date Col1 Col2: chr "2014-01-01 123 12" "2014-01-01 123 21" "2014-01-01 124
如何在这里使用fread()
?
答案 0 :(得分:1)
正如this post所述,现在由fread
自动处理(有关详情,请参阅README
):
require(data.table) #v1.9.5+
fread("~/Downloads/tmp.txt")
# Date Col1 Col2
# 1: 2014-01-01 123 12
# 2: 2014-01-01 123 21
# 3: 2014-01-01 124 32
# 4: 2014-01-01 125 32
# 5: 2014-01-02 123 34
# 6: 2014-01-02 126 24
# 7: 2014-01-02 127 23
# 8: 2014-01-03 521 21
# 9: 2014-01-03 123 13
# 10: 2014-01-03 126 15
更新到最新的devel版本或等到v1.9.6命中CRAN。