I would like to read a file with fread
from data.table
that has a column with \"YYYY-MM-DD\" format dates. By default, fread
reads the col
Using the fasttime
package, as suggested in the fread documentation, is approximately 100x faster than as.Date
or as.IDate
:
library(data.table)
library(fasttime)
dt[,starttime.date := fastPOSIXct(starttime.date)]
Benchmark results:
library(microbenchmark)
library(fasttime)
DT <- data.table(start_date = paste(sample(1900:2018, 100000, replace = T),
sample(1:12, 100000, replace = T),
sample(1:28, 100000, replace = T),
sep = "-"))
microbenchmark(
as.Date(DT$start_date),
as.IDate(DT$start_date),
fastPOSIXct(DT$start_date)
)
> Unit: milliseconds
> expr mean
> as.Date(DT$start_date) 383.89
> as.IDate(DT$start_date) 405.89
> fastPOSIXct(DT$start_date) 4.59