Как и было обещано, вот один из способов добиться желаемого с помощью R. Я сделал это в Jupyter Lab, но это ничего не изменит. Вот код:
Получить данные To / From:
df_t <- read.csv("C:/python/R_files/Stackoverflow/To.csv")
df_f <- read.csv("C:/python/R_files/Stackoverflow/From.csv")
head(df_t, 2)
head(df_f, 2)
Вывод: (Хорошо выглядит)
A data.frame: 2 × 1
To
<fct>
1 "46.40267091 - 117.04417"
2 "46.40267091 - 117.04417"
A data.frame: 2 × 1
From
<fct>
1 "46.406333- 117.049925"
2 "46.395726- 117.062265"
Затем я объединил два фрейма данных в один фрейм данных. Ваши данные могут уже быть объединены следующим образом.
df <- data.frame(from = c(df_f), to = c(df_t))
df
Вывод: (выглядит хорошо)
A data.frame: 6 × 2
From To
<fct> <fct>
"46.406333- 117.049925" "46.40267091 - 117.04417"
"46.395726- 117.062265" "46.40267091 - 117.04417"
"46.306254- 119.27897" "46.2342797 - 119.2329393"
"46.275479- 119.301406" "46.2342797 - 119.2329393"
"46.281562- 119.293819" "46.2342797 - 119.2329393"
"46.288286- 119.284903" "46.2342797 - 119.2329393"
И, наконец, создайте функцию и подмножество to / from. Получите данные:
dist <- apply(df, 1, function(x){
mapdist( x["From"], x["To"] )
})
dist # run the function
Вы захотите построить точки. Я никогда не наносил данные на график, чтобы увидеть, имеют ли данные или результаты какой-либо смысл.
Вывод - щелкните ссылку: ( Правильно !)