Usando la función distm de geosfera en una tabla de datos para calcular distancias

He creado un data.table en que tiene 6 columnas. Mi data.table tiene columnas que comparan dos ubicaciones: Ubicación 1 y Ubicación 2. Estoy tratando de usar la función distm para calcular la distancia entre las ubicaciones en cada fila, creando una séptima columna. El paquete distm en el paquete de geosfera requiere dos vectores diferentes para cada combo lat / long para calcular. Mi código a continuación no funciona, así que estoy tratando de descubrir cómo proporcionar vectores a la función.

LOC_1_ID LOC1_LAT_CORD LOC1_LONG_CORD LOC_2_ID LOC2_LAT_CORD LOC2_LONG_CORD
 1       35.68440        -80.48090        70624    34.86752   -82.46632
 6       35.49770        -80.62870        70624    34.86752   -82.46632
10       35.66042        -80.50053        70624    34.86752   -82.46632

Suponiendo que res contiene data.table, el siguiente código no funciona.

 res[,DISTANCE := distm(c(LOC1_LAT_CORD, LOC1_LONG_CORD),c(LOC2_LAT_CORD, LOC2_LONG_CORD), fun=distHaversine)*0.000621371]

Si tuviera que extraer cada vector, la función funciona bien.

loc1 <- res[LOC1_ID == 1,.(LOC1_LAT_CORD, LOC1_LONG_CORD)]
loc2 <- res[LOC2_ID==70624,.(LOC2_LAT_CORD, LOC2_LONG_CORD)]
distm(loc1, loc2, fun=distHaversine)

Realmente, mi pregunta es cómo aplicar funciones para seleccionar columnas dentro de una tabla data.table cuando esa función requiere vectores como parámetros.

Respuestas a la pregunta(1)

Su respuesta a la pregunta