将字符 longitude/latitude 转换为数字

Convert character longitude/latitude into numeric

我在 R 中有一个名为 Test 的数据集,其经纬度坐标在调用 str(Test) 后现在具有以下格式:

    $ lat                         : chr "513.035.763.793.677"
    $ lon                         : chr "33.941.883.804.984"

我想将它们转换为正确的经纬度坐标。以下无效:

    as.numeric(Test$lat) 
    as.numeric(gsub(".", "", Test$lat)

我得到:

[1] 不适用 警告信息: 强制引入的 NA

如何将它们转换为适合在地图上绘制的数字坐标?正确的坐标应该是经度:3.394188 和纬度:51.30357

尝试:

as.numeric(gsub(".", "", Test$lat, fixed = TRUE))
[1] 5.130358e+14

如果没有设置 fixed = TRUEgsub 会将 "." 视为 regular expression

然后将其转换为您要查找的格式,您只需乘以 1e-13:

5.130358e+14 * 1e-13
[1] 51.30358