我该如何解决:响应错误$ result $ geographies $`2010 Census Blocks [[1]]:纬度/经度数据的下标超出范围

问题描述

更新:因此,在我的数据集中,坐标集之一是(49.277298,-123.067902),不仅是唯一超出范围的坐标,而且是唯一对坐标造成严重破坏的坐标分析。希望此添加对您有所帮助!

我正在为一个仅列出纬度和经度但在响应$ result $ geographies $ 2010 Census Blocks [[1]]中不断出错的数据集寻找普查代码: 下标超出范围

当我使用for循环时:

ids <- c()
for(i in 1:nrow(census)){
if(is.na(census$locationlatitude[i])){
id <- NA
} else {
id <- call_geolocator_latlon(census$locationlatitude[i],census$locationlongitude[i])
}
ids <- c(ids,(id))
}

然后我还要应用一个申请:

census <- read.csv("census_tract.csv")
census <- census[,c(1:3)]
census$rowid <- 1:nrow(census)
censusNA <- na.omit(census)
censusNA$census_tract <- apply(censusNA,1,function(row) 
call_geolocator_latlon(row['LocationLatitude'],row['LocationLongitude']))
censusNA <- censusNA[,c(3,4)]
census_tract <- merge(census,censusNA,by = "rowid",all.x = TRUE)

都返回 响应错误$ result $ geographies $ 2010 Census Blocks [[1]]: 下标超出范围

解决方法

您应该可以像下面这样使用ifelse()来避免循环:

ifelse( is.na(census$locationlatitude),NA,call_geolocator_latlon(census$locationlatitude,census$locationlongitude)
       )

这假设call_geolocator_latlon是矢量化的。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...