座標我有合併的緯度和經度的列座標的格式如下:緯度和經度中的R
coordinates
(-73.2566,44.51513)
我想獲得的格式
lat long
73.2566 44.51512
我知道這看起來像一個相對簡單的問題,但我似乎無法找到解決方案。我已經嘗試過使用gsub()函數,但是沒有去除括號。
座標我有合併的緯度和經度的列座標的格式如下:緯度和經度中的R
coordinates
(-73.2566,44.51513)
我想獲得的格式
lat long
73.2566 44.51512
我知道這看起來像一個相對簡單的問題,但我似乎無法找到解決方案。我已經嘗試過使用gsub()函數,但是沒有去除括號。
> library(stringr)
> library(magrittr)
> "(-73.2566, 44.51513)" %>% # take coord as string
+ str_replace_all("[()]", "") %>% # replace parantheses
+ str_split_fixed(", ", n=2) %>% # split up based on comma and space after
+ as.data.frame %>% # turn this to a data frame
+ transmute(lat=V1, long=V2) # rename the variables
lat long
1 -73.2566 44.51513
如果您有這些價值觀的載體,它可以很容易地通過這樣for (i in coords)
其中data.frame
在年底會反覆加入使用類似bind_rows
數據集改編。
謝謝你,這是非常有幫助的,我知道它比我想它更簡單哈哈。 – Bryant
試試這個簡單的功能(需使用谷歌API):
google_api <- "https://maps.googleapis.com/maps/api/geocode/json"
geocode <- function(address, verbose=FALSE) {
library(httr)
r <- GET(google_api, query=list(address=address))
stop_for_status(r)
result <- content(r)
first <- result$results[[1]]
df <- as.data.frame(list(lat=first$geometry$location$lat,
lon=first$geometry$location$lng))
return(df)
}
#example
geocode("Suzhou New Matro")
lat lon
1 31.31015 120.6221
使用谷歌API的功能geocode()
返回每個城市在格式座標你需要
我對使用已經提供的點更感興趣,但是感謝您使用這個有用的功能,下次我只有地址時纔會使用。 – Bryant
洛倫佐,你的天才! –
這可能是一丁點太簡單了,但
> coordinates=c(-73.2566,44.51513)
> coordinates
[1] -73.25660 44.51513
> lat=coordinates[1]
> lat
[1] -73.2566
> long=coordinates[2]
> long
[1] 44.51513
有一個ggmap包在https://www.nceas.ucsb.edu/~frazier/RSpatialGuides/ggmap/ggmapCheatsheet.pdf
謝謝你的優秀作弊表將它保存到我的桌面以供將來參考! – Bryant
使用'pattern =「\\(| \\」',然後'replacement =「」'爲gsub,然後'strsplit'爲'「,」'。 – din
作爲一邊(因爲你用'google-maps'標記了這個問題)我已經建立了[googleway](https://cran.r-project.org/web/packages/googleway/googleway.pdf )包,可通過R訪問Google Maps API。有關示例,請參見[vignette](https://cran.r-project.org/web/packages/googleway/vignettes/googleway-vignette.html)。 – SymbolixAU