#r
#r
Вопрос:
Я попытался получить время в пути и расстояние для двух наборов местоположений, оба из которых представлены долготами и широтами. Ранее я использовал gmapsdistance, который вернет матрицу расстояний для каждой точки в двух векторах. Но здесь я только хочу вычислить расстояние для каждой строки. Поэтому я считаю целесообразным использовать функцию apply для каждой строки.
Данные выглядят следующим образом
unique_pair <- structure(list(latitude = c(42.018435, 42.018435, 42.120501), longitude = c(-70.846707, -70.846707, -71.233164),x.x.locationlatitude = c(42.23656924, 42.361856, 41.901186), x.x.locationlongitude = c(-70.9865341, -71.065615, -71.093756), n = c(80L, 2L, 65L)), row.names = c(NA, -3L), class = c("tbl_df","tbl", "data.frame"))
abk<-apply(unique_pair,1,function(x) { gmapsdistance(
origin =x[1] x[2], # start point of journey
destination = x[3] x[4], # end point of journey
mode = "driving", # driving time
shape = "long" # format of output data
)})
[1,2] [3,4] — это lon и широта для двух местоположений. Но всегда возникает ошибка, такая, что
Если я не использовал , они использовали каждый lon и широту отдельно в качестве местоположений и сообщали о бесполезном результате.
Если я использовал для включения широты и lon в качестве точки для определения местоположения, это показывает нечисловой аргумент двоичного оператора
Я также рассматриваю возможность их цитирования, но это тоже не работает.
Может ли кто-нибудь помочь и дать некоторые рекомендации? Большое спасибо
Комментарии:
1. Привет, Хуэй, ты можешь сделать это минимально воспроизводимым примером? Решить проблему намного проще, если мы сможем вырезать и вставить ваши данные и код, воспроизвести ту же ошибку, которую вы получаете, а затем сможем разработать решение для публикации для вас. Спасибо 🙂
2. Похоже, что функция ищет строку, поэтому попробуйте использовать:
paste0(x[42], " ", x[43])
3. Я только что добавил мини-набор данных, надеюсь, это сработает. Спасибо!
4. @Dave2e Привет, это работает! Спасибо