代码之家  ›  专栏  ›  技术社区  ›  mrsquid

r加速mapply函数,查找两个邮政编码之间的旅行时间

  •  0
  • mrsquid  · 技术社区  · 6 年前

    我正在使用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版本中似乎不可用。

    最初我写了一个for循环,但运行时间超过了10个小时,所以我认为 mapply 方法会更快,但仍需要大量时间。

    0 回复  |  直到 5 年前