我有一个像这样的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'))
主要目的是在传单应用程序中使用地理编码。
答案 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)的情况下有效。