Быстрое чтение данных с fread()

Работа с данными с помощью data.table в R

Matt Dowle, Arun Srinivasan

Instructors, DataCamp

Молниеносная скорость!

  • Быстрое параллельное чтение файлов
  • Аргумент nThread задаёт число потоков
Работа с данными с помощью data.table в R

Удобство использования

  • Поддерживает локальные файлы, файлы из интернета и строки
  • Умные значения по умолчанию: colClasses, sep, nrows и др.
  • Примечание: даты и время считываются как символьные столбцы, но их можно преобразовать с помощью пакетов fasttime или anytime
Работа с данными с помощью data.table в R

Быстрое и удобное чтение файлов

# File from URL
DT1<-fread("https://bit.ly/2RkBXhV")
DT1
a b
1 2
3 4
# Local file
DT2 <- fread("data.csv")
DT2
a b
1 2
3 4
# String
DT3 <- fread("a,b\n1,2\n3,4")
DT3
a b
1 2
3 4
# String without col names
DT4 <- fread("1,2\n3,4")
DT4
V1 V2
1  2
3  4
Работа с данными с помощью data.table в R

Аргументы nrows и skip

# Read only first line (after header)
fread("a,b\n1,2\n3,4", nrows = 1)
a b
1 2
# Skip first two lines containing metadata
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
Работа с данными с помощью data.table в R

Подробнее об аргументах 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
Работа с данными с помощью data.table в R

Аргументы 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
Работа с данными с помощью data.table в R

Давайте потренируемся!

Работа с данными с помощью data.table в R

Preparing Video For Download...