Как эффективно загрузить часть набора данных на основе индекса времени в R

Я часто работаю с несколькими .csv файлы, имеющие размер >100MB; однако во многих случаях мне нужно только подмножество данных. Подмножество всегда находится в пределах определенного интервала времени. У меня вопрос: есть ли функция или способ в R, чтобы я мог загрузить только подмножество данных, не зная индекса временных меток?

Вот как я обычно это делаю:

Представь, что у меня есть .csv файл называется Large_CSV_file.csv и у меня есть минутные метки продолжительностью 20 лет в первом столбце и данные во втором.

# Load entire data set
dat <- read.csv("Large_CSV_file.csv")
# Find idx where to cut the data set
start.idx <- which(dat[,1] == as.Date("01-01-1990"))
end.idx <- which(dat[,1] == as.Date("01-01-1991"))
# Subset of data set
dat <- dat[start.idx:end.idx,]

Первая строка кода - это та, которая требует много времени для загрузки, и я чувствую, что неэффективно загружать весь набор данных, прежде чем отбросить 99% его...

0 ответов

Другие вопросы по тегам