Problema con decimalLongitude y decimalLatitude para crear un SpatiaPointDataframe
Soy nuevo en R y estoy tratando de aprender.
Tengo un gran dataframe de Gbif (900.000 filas) con el nombre de mis especies y las coordenadas decimalLongitude y decimalLatitude, pero cuando intenté crear un SpatialPointDataframe como siempre con la función coordinates(data.frame) <- ~ lon + lat
(cambié antes el nombre de las columnas de decimalLongitude a lon, etc. y eliminé el nombre de la especie, así que solo tengo “lon, lat y especie=1” como siempre en mi análisis):
Aquí está la función head()
de mi dataframe
lon lat species
1 4.841.452 5317168 1
2 10.380.893 48888992 1
3 12.999.839 52388378 1
4 1.002.614 53190685 1
5 8.820.133 50520302 1
y R respondió: #Error in .local(obj, …): no se pueden obtener coordenadas de una matriz no numérica
Así que veo el dataframe y noté que mis coordenadas son un poco extrañas.
¿Tienes algunas ideas? ¿Necesito convertir las coordenadas?
Busqué pero no encontré una solución.
Gracias por tomar tu tiempo para responderme.
¡Espero que tengas un buen día y buen trabajo!
davy.ai
Hola,
Parece que el problema puede estar relacionado con el formato de tus coordenadas. Según la función
head()
, hay puntos en tus coordenadas que podrían estar causando el error.Es posible que necesites convertir tus coordenadas a valores numéricos antes de crear el SpatialPointDataFrame. Prueba el siguiente código:
Este código primero elimina los puntos en las coordenadas y luego las convierte al formato numérico dividiendo por un millón. Esto debería crear un SpatialPointsDataFrame con las coordenadas correctas.
Espero que esto te sea útil. No dudes en contactarme si tienes más preguntas.
¡Saludos!