Manipulación de un marco de datos con contenido de un marco de datos diferente

Tengo una grandata.frame con nombres de lugares geográficos mydata). Los lugares aparecen en ladata.frame en más de una celda.

En otro archivo con 3 columnas, tengo todos estos lugares (primera columna), la latitud de estos lugares (segundo, los lugares aparecen en eldata.frame en más de una celda). En otro archivo con 3 columnas tengo todos estos lugares (primera columna), la latitud de estos lugares (segunda columna) y la longitud en la tercera columna.

Quiero crear otras dos matrices Lat yLong) con una dimensión igual a la dimensión de ladata.frame con los lugares geográficos tales que:

Lat[i,j] = Latitude of the place in mydata[i,j]
long[i,j]= longitude of the place in mydata[i,j]

Así que estoy buscando un procedimiento que pase pormydata, elija el nombre del lugar en cada celda, busque la latitud y longitud en el segundo archivo y complete estos valores en las matricesLat yLong.

mydata <- data.frame(cbind(c("xyz","ab","yabc",NA)), 
                           c("xyz","xyz","yabc","ab")),
                           c("ab","ab",NA,"yabc")))
Coor   <- data.frame(cbind(c("ab","xyz","yabc"), 
                           c(31.34,42.15,36.98), 
                           c(12.87,13.67,18.56)))

Quiero un método para obtener

Lat <- data.frame(cbind(c(42.15,31.34,36.98,NA),
                        c(42.15,42.15,36.98,31.34),
                        c(31.34,31.34,NA,36.98)))

Respuestas a la pregunta(2)

Su respuesta a la pregunta