使用 fread() 快速读取数据

在 R 中使用 data.table 进行数据处理

Matt Dowle, Arun Srinivasan

Instructors, DataCamp

极快!

  • 快速且并行的文件读取器
  • 参数 nThread 控制使用的线程数
在 R 中使用 data.table 进行数据处理

易用

  • 可导入本地文件、网页文件和字符串
  • 智能默认值:colClassessepnrows
  • 说明:日期和日期时间会读为字符列,可用优秀的 fasttimeanytime 包再转换
在 R 中使用 data.table 进行数据处理

快速且友好的文件读取器

# 来自 URL 的文件
DT1<-fread("https://bit.ly/2RkBXhV")
DT1
a b
1 2
3 4
# 本地文件
DT2 <- fread("data.csv")
DT2
a b
1 2
3 4
# 字符串
DT3 <- fread("a,b\n1,2\n3,4")
DT3
a b
1 2
3 4
# 无列名的字符串
DT4 <- fread("1,2\n3,4")
DT4
V1 V2
1  2
3  4
在 R 中使用 data.table 进行数据处理

nrows 与 skip 参数

# 只读取首行(表头之后)
fread("a,b\n1,2\n3,4", nrows = 1)
a b
1 2
# 跳过前两行元数据
str <- "# Metadata\nTimestamp: 2018-05-01 19:44:28 GMT\na,b\n1,2\n3,4"
fread(str, skip = 2)
a b
1 2
3 4
在 R 中使用 data.table 进行数据处理

更多关于 nrows 和 skip 参数

str <- "# Metadata\nTimestamp: 2018-05-01 19:44:28 GMT\na,b\n1,2\n3,4"
fread(str, skip = "a,b")
a b
1 2
3 4
fread(str, skip = "a,b", nrows = 1)
a b
1 2
在 R 中使用 data.table 进行数据处理

select 与 drop 参数

str <- "a,b,c\n1,2,x\n3,4,y"
fread(str, select = c("a", "c"))

# Same as
fread(str, drop = "b")
a c
1 x
3 y
str <- "1,2,x\n3,4,y"
fread(str, select = c(1, 3))

# Same as 
fread(str, drop = 2)
V1 V3
 1  x
 3  y
在 R 中使用 data.table 进行数据处理

¡Vamos a practicar!

在 R 中使用 data.table 进行数据处理

Preparing Video For Download...