Encuentre la distancia mínima (“Dist_km”) para cada ID de entrada al ID de objetivo, donde la distancia mínima solo se puede usar una vez.
Tengo un archivo con 945 IDs de entrada únicos, y cada uno de estos IDs de entrada tiene una distancia calculada a 1435 IDs de destino únicos. Necesito encontrar la distancia mínima al ID de destino para cada ID de entrada. La distancia se calcula en la columna “Distkm” (consulte el ejemplo de datos adjunto). El cálculo debe comenzar desde el ID de entrada más bajo (es decir, de 1 a 945 en adelante). Es importante tener en cuenta que si se encuentra la distancia mínima (“Distkm”) para el ID de entrada más bajo, este no puede ser utilizado nuevamente y debe asignarse el siguiente ID de destino más cercano. Esto significa que, si los IDs de entrada “3” y “6” están más cerca del ID de destino 93112261, entonces se asigna el ID de destino 93112261 al ID de entrada “3”, y se deben encontrar otros ID de destino más cercanos para “6”.
InputID | TargetID | Dist_km |
---|---|---|
1 | 93112261 | 82.20803 |
1 | 93112285 | 73.93768 |
945 | 93263357 | 283.92473 |
945 | 92190485 | 129.49177 | |
davy.ai
Para encontrar la distancia mínima al TargetID para cada InputID, en R podemos utilizar los siguientes pasos:
read.table()
.El dataframe resultante tendrá el TargetID con la distancia mínima asignado a cada InputID en la columna “Assigned_TargetID”.