Цель состоит в том, чтобы рассчитать расстояние между всеми счетчиками трафика вдоль шоссе и всеми заправочными станциями в Бельгии.Поэтому мне нужно расстояние от каждой стойки до каждой станции.В кадре данных Бельгии вы можете найти продольные и поперечные расстояния счетчиков, в кадрах данных станций вы можете найти те из АЗС.
Пока я использовал цикл for, это прекрасно работает для небольших кадров данных, ноочень медленный для огромных, что характерно для циклов.
Stations1<-Stations[,c("lon","lat")]
names(Stations1)<-NULL
BELGIUM1<-BELGIUM[,c("lon","lat")]
names(BELGIUM1)<-NULL
distancesToStation <- data.frame(matrix(NA,nrow = nrow(Stations),ncol = nrow(BELGIUM)))
for (i in 1:nrow(BELGIUM)) {
for (j in 1:nrow(Stations)){
distancesToStation[j,i] = gmapsdistance(origin =
paste0(Stations1[j,1],"+",Stations1[j,2]),
destination =
paste0(BELGIUM1[i,1],"+",BELGIUM1[i,2]),
mode = "driving",key = "X")[[2]]/1000
}}
save(distancesToStation, file = 'DistanceMatrix.Rdata')
Этот код отлично работает для небольших кадров данных,Есть ли способ ускорить это?