将字符 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 = TRUE
,gsub
会将 "."
视为 regular expression。
然后将其转换为您要查找的格式,您只需乘以 1e-13
:
5.130358e+14 * 1e-13
[1] 51.30358
我在 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 = TRUE
,gsub
会将 "."
视为 regular expression。
然后将其转换为您要查找的格式,您只需乘以 1e-13
:
5.130358e+14 * 1e-13
[1] 51.30358