sqldf: запрос данных по диапазону дат

Я читаю из огромного текстового файла, который имеет'%d/%m/%Y' Формат даты. Я хочу использовать read.csv.sql из sqldf для одновременного чтения и фильтрации данных по дате. Это позволяет сэкономить память и время выполнения, пропустив много дат, которые меня не интересуют. Я знаю, как это сделать с помощьюdplyr а такжеlubridate, но я просто хочу попробовать сsqldf по вышеупомянутой причине. Несмотря на то, что я хорошо знаком с синтаксисом SQL, он по-прежнему доставляет мне удовольствие, не исключаяsqldf.

Выполнение команды, подобной следующей, вернуло data.frame с 0 строкой:

first_date <- "2001-11-1"
second_date <- "2003-11-1"
query <- "select * from file WHERE strftime('%d/%m/%Y', Date, 'unixepoch', 'localtime') between
                    '$first_date' AND '$second_date'"
df <- read.csv.sql(data_file,
                       sql= query,
                       stringsAsFactors=FALSE,
                       sep = ";", header = TRUE)

Так что для моделирования я попробовал сsqldf функция как следующее:

first_date <- "2001-11-1"
second_date <- "2003-11-1"
df2 <- data.frame( Date = paste(rep(1:3, each = 4), 11:12, 2001:2012, sep = "/"))
sqldf("SELECT * FROM df2 WHERE strftime('%d/%m/%Y', Date, 'unixepoch') BETWEEN '$first-date' AND '$second_date' ") 

# Expect:
# Date
# 1  1-11-2001
# 2  1-12-2002
# 3  1-11-2003

Ответы на вопрос(1)

Ваш ответ на вопрос