Я использую пакет gmapsdistance для вычисления времени в пути между двумя почтовыми индексами.
Кажется, это работает хорошо. Есть еще некоторые ошибки с почтовыми индексами, которые почти идентичны, и иногда функция не выводит правильное время.
Основная проблема заключается в том, что для запуска функции на наборе данных того размера, с которым я работаю, требуются часы.
Вот пример кадра данных набора данных.
library(gmapsdistance)
df <- data.frame("ZIP_START" = c(95051, 94534, 60193, 94591, 94128, 94015, 94553, 10994, 95008),
"ZIP_END" = c(98053, 94128, 60666, 73344, 94128, 73344, 94128, "07105", 94128),
stringsAsFactors = FALSE)
df$travel_time <- mapply(gmapsdistance, df$ZIP_START, data$ZIP_END, mode = "driving", key = get.api.key(), traffic_model = "best_guess")
Есть ли способ улучшить скорость этой функции? Я попытался посмотреть на пакет mclapply, но он не доступен в моей версии R Studio.
Первоначально я написал цикл for, но его запуск занял более 10 часов, поэтому я подумал, что метод mapply будет быстрее, но он все еще занимает много времени.
Любой совет приветствуется.
Пожалуйста, дайте мне знать, если у вас есть другие вопросы.
Спасибо.