gpt4 book ai didi

R 尝试查找欧洲城市的纬度/经度数据并获取地理编码错误消息

转载 作者:行者123 更新时间:2023-12-04 00:35:13 26 4
gpt4 key购买 nike

我最近发布了一个关于将欧洲城市的位置绘制为 map 上的点的问题。
R, get longitude/latitude data for cities and add it to my dataframe

城市 xlsx 文件包含大约 20000 个欧洲城市。

尝试使用地理编码查找纬度/经度数据时收到错误消息。我在下面插入了部分代码:

cities <- read.xlsx("EU_city.xlsx",1)

# get frequencies
freq <- as.data.frame(table(cities))
library(plotrix)
freq$Freq <- rescale(freq$Freq, c(1,10)) # c(scale_min, scale_max)

# get cities latitude/longitude - kindly provided by google:
library(ggmap)
lonlat <- geocode(unique(cities))
cities <- cbind(freq, lonlat)

error message:

Error: is.character(location) is not TRUE

我猜我的数据框中的数据(城市)在地理编码调用中找不到。
如果在地理编码中不匹配,是否有办法忽略 dtaframe 中的城市

建议后更新问题......

尝试地理编码(as.character(城市))

然后我的框架看起来像这样:
> cities <- cbind(freq, lonlat)
> cities
cities Freq lon lat
1 ARNHEM 1.00 NA NA
2 ATHENS 3.25 NA NA
3 BAAR 1.00 NA NA
4 BAD VILBEL 1.00 NA NA
5 BILTHOVEN 1.00 NA NA
6 BOCHUM 10.00 NA NA
7 BREDA 3.25 NA NA
8 CAMBRIDGESHIRE 3.25 NA NA
9 DORDRECHT 1.00 NA NA
10 GAOETERSLOH 1.00 NA NA
11 GELSENKIRCHEN 1.00 NA NA
12 GOES 1.00 NA NA
13 GRONINGEN 3.25 NA NA
14 GUMMERSBACH-DIERINGHAUSEN 1.00 NA NA
15 HALSTEREN 1.00 NA NA
16 HANNOVER 1.00 NA NA
17 HARDERWIJK 1.00 NA NA
18 HEERLEN 3.25 NA NA
19 HILVERSUM 1.00 NA NA

我根本没有长/纬度数据,只有 NA

最佳答案

您只需对 cities 进行地理编码列(有点令人困惑,您有一个名为 cities 的数据框,其中有一个名为 cities 的列)。如有疑问,请尝试将事情分解成更小的块。

例如,一次尝试一个......

cities <- c("ARNHEM","ATHENS","BAAR","CAMBRIDGESHIRE")
library(ggmap)
geocode(cities[1])
## lon lat
## 1 5.89873 51.9851
geocode(cities[2])
## just checking ...
geocode("ATHENS GEORGIA")
## lon lat
## 1 -83.38333 33.95

现在一次尝试所有向量:
geocode(cities)
## lon lat
## 1 5.8987296 51.98510
## 2 23.7293097 37.98372
## 3 8.5286332 47.19585
## 4 0.0965375 52.27619

现在尝试使用数据框:
mydat <- read.csv(textConnection("
cities,Freq,lon,lat
ARNHEM,1.00,NA,NA
ATHENS,3.25,NA,NA
BAAR,1.00,NA,NA
BAD VILBEL,1.00,NA,NA
BILTHOVEN,1.00,NA,NA
BOGUS_PLACE,2,NA,NA"))


geocodes <- geocode(as.character(mydat$cities))
mydat <- data.frame(mydat[,1:2],geocodes)

## cities Freq lon lat
## 1 ARNHEM 1.00 5.898730 51.98510
## 2 ATHENS 3.25 23.729310 37.98372
## 3 BAAR 1.00 8.528633 47.19585
## 4 BAD VILBEL 1.00 8.739480 50.18234
## 5 BILTHOVEN 1.00 5.210381 52.13653
## 6 BOGUS_PLACE 2.00 -92.201158 44.49091

不知道 什么 BOGUS_PLACE 的结果意思是……!!

关于R 尝试查找欧洲城市的纬度/经度数据并获取地理编码错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20937682/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com