将字符经度/纬度转换为数字

时间:2015-03-09 21:39:37

标签: r character numeric

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

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

我想把它们变成正确的lon-lat坐标。以下不起作用:

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

我明白了:

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

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

1 个答案:

答案 0 :(得分:2)

尝试:

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