Snabb datainläsning med fread()

Datamanipulering med data.table i R

Matt Dowle, Arun Srinivasan

Instructors, DataCamp

Blixtsnabbt!

  • Snabb och parallell filläsare
  • Argumentet nThread styr antalet trådar som används
Datamanipulering med data.table i R

Användarvänlig

  • Kan importera lokala filer, filer från webben och strängar
  • Intelligenta standardvärden – colClasses, sep, nrows osv.
  • Obs: Datum och datumtider läses in som teckenkolumner men kan konverteras senare med de utmärkta paketen fasttime eller anytime
Datamanipulering med data.table i R

Snabb och smidig filläsare

# 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
Datamanipulering med data.table i R

Argumenten nrows och 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
Datamanipulering med data.table i R

Mer om nrows och 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
Datamanipulering med data.table i R

Argumenten select och 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
Datamanipulering med data.table i R

Nu kör vi en övning!

Datamanipulering med data.table i R

Preparing Video For Download...