R Функция ускорения Mapply, которая находит время в пути между двумя почтовыми индексами - PullRequest
1 голос
/ 18 апреля 2019

Я использую пакет 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 будет быстрее, но он все еще занимает много времени.

Любой совет приветствуется.

Пожалуйста, дайте мне знать, если у вас есть другие вопросы.

Спасибо.

...