清理地址解析数据

时间:2018-08-24 02:17:01

标签: r regex leaflet stringr geocode

我有一个像这样的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'))

主要目的是在传单应用程序中使用地理编码。

1 个答案:

答案 0 :(得分:1)

如果确实有必要,我可以分两个步骤进行操作:

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)指出,这仅在您的经度总是包含两个经度(10-99)的情况下有效。