【发布时间】:2015-08-07 13:45:45
【问题描述】:
我正在学习使用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)
当我尝试使用 data.table 包中的 fread() 时,出现错误:
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()?
【问题讨论】:
-
这个答案可能对stackoverflow.com/questions/22229109/…有帮助
-
@bjoseph 谢谢!是的,
sed有效。由于read.table可以完美地处理数据,我想fread也应该处理它。如果数据集非常大,sed方法也可能需要一些时间。如果我们可以让它工作,也许fread是一个更好的选择。 -
同意。关于这个github.com/Rdatatable/data.table/issues/964有一些github问题
标签: r data.table