清理地理编码数据
Cleaning Geocode Data
我有一个像这样的 df:
df = data.frame(longitude = c('-235.969',
'-23.596.244',
'-2.359.186'))
这是一列地理编码的示例,我正在尝试将其转换成类似这样的内容
new_df = data.frame(longitude = c('-23.5969', '-23.596244', '-23.59186'))
主要目的是在传单应用程序中使用地理编码。
如果真的有必要,我会分两步进行:
library(magrittr)
gsub(".", "", df$longitude, fixed = TRUE) %>%
sub("(\d{2})", "\1\.", .)
[1] "-23.5969" "-23.596244" "-23.59186"
先删除任何 .
然后用前两位替换前两位 + .
PS。没有管道你可以这样做:
sub("(\d{2})", "\1\.", gsub(".", "", df$longitude, fixed = TRUE))
编辑:重要警告:
正如 Matt 指出的那样,这仅在您的经度 ALWAYS 包含如果您的经度是两位数 (10-99) 时才有效。
我有一个像这样的 df:
df = data.frame(longitude = c('-235.969',
'-23.596.244',
'-2.359.186'))
这是一列地理编码的示例,我正在尝试将其转换成类似这样的内容
new_df = data.frame(longitude = c('-23.5969', '-23.596244', '-23.59186'))
主要目的是在传单应用程序中使用地理编码。
如果真的有必要,我会分两步进行:
library(magrittr)
gsub(".", "", df$longitude, fixed = TRUE) %>%
sub("(\d{2})", "\1\.", .)
[1] "-23.5969" "-23.596244" "-23.59186"
先删除任何 .
然后用前两位替换前两位 + .
PS。没有管道你可以这样做:
sub("(\d{2})", "\1\.", gsub(".", "", df$longitude, fixed = TRUE))
编辑:重要警告:
正如 Matt 指出的那样,这仅在您的经度 ALWAYS 包含如果您的经度是两位数 (10-99) 时才有效。