当我尝试使用ggmap库中存在的地理编码功能来获取纬度和经度时,两者都会得到不同的结果。但是,当我检查" dd"在两个案例中都有变量列表,但为什么第二个输出中的输出不同。想知道为什么?
for(i in 1:3)
{
result <- geocode(df1$states[i],output="latlona", source = "google")
dd$lon[i] <- as.numeric(result[1])
dd$lat[i] <- as.numeric(result[2])
dd$geoAddress[i] <- as.character(result[3])
}
for(i in 1:3)
{
result <- geocode(df1$states[i],output="latlona", source = "google")
dd$lon[i] <- result[i,1]
dd$lat[i] <- result[i,2]
dd$geoAddress[i] <- result[i,3]
}
答案 0 :(得分:0)
问题是,第二个代码与第一个代码不同。如果你看到,第二个代码将为第一个迭代生成与第一个代码相同的输出。但是对于第二次迭代,result [i,1]无效,因为output是只有一行的data.frame。因此,选择不存在的第二行(您通过结果[i,1],其中i = 2),将NA作为输出。您可以在R:
中输入这个简单的代码来尝试自己library(ggmap)
geocode("Delhi", output = "latlona", source = "google")[2,1]
输出为NA
。
希望这会有所帮助。