如何使用 fread() 读取具有不规则 space 分隔值的文件?
How to read file with irregular space separated value using fread()?
我正在学习使用 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()
?
如 中所述,现在由 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
要么更新到最新的开发版本,要么等到 v1.9.6 命中 CRAN。
我正在学习使用 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()
?
如 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
要么更新到最新的开发版本,要么等到 v1.9.6 命中 CRAN。