Мне нужно импортировать большое количество значений из нескольких файлов .csv.С этим у меня нет проблем.Однако столбцы фрейма данных, которые возвращает моя функция при импорте указанных переменных, необходимо преобразовать в разные классы.
Вот как выглядит фрейм данных:
ссылка на фрейм данных (4'740'357 наблюдений из 6 переменных)
structure(list(start_date = c("2017-07-22 00:00", "2017-07-22 00:00",
"2017-07-22 00:00", "2017-07-22 00:00", "2017-07-22 00:00"),
start_station_code = c(6360L, 6248L, 6183L, 6248L, 6143L),
end_date = c("2017-07-22 00:13", "2017-07-22 00:10", "2017-07-22 00:13",
"2017-07-22 00:08", "2017-07-22 00:25"),
end_station_code = c(7046L, 6233L, 6234L, 6199L, 6270L),
duration_sec = c(807L, 642L, 774L, 529L, 1505L),
is_member = c(1L, 0L, 1L, 0L, 1L)),
row.names = 584979:584983, class = "data.frame")
Столбцы $start_date
и $end_date
необходимо преобразовать в класс Date (или POSIXct
, в зависимости от того, что наиболее удобно), а $is_member
необходимо преобразовать в класс фактора.
Пока мне удается преобразовать указанные столбцы с помощью следующего кода:
# data is the data frame.
data[ , c(1,3)] <- lapply(data[ , c(1,3)], as.Date)
data$is_member <- as.factor(data$is_member)
Однако выполнение моей функции может занять до трех минут.Мне было интересно, если кто-нибудь имел представление о том, как я мог бы ускорить этот процесс.Примите во внимание, что мой фрейм данных, скорее всего, будет иметь до 5 миллионов строк .