Update:所以在我的数据集中,一个坐标集是(49.277298,-123.067902),它不仅是唯一超出界限的,而且也是对分析造成破坏的唯一一个。希望这个增加有帮助!
我正在为一个数据集寻找人口普查代码,该数据集只列出纬度和经度,但在response$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)response$result$geographies$2010 Census Blocks[1]中的两个返回错误:下标超出界限
发布于 2020-09-03 21:45:47
您应该能够通过使用ifelse()来避免循环,如下所示:
ifelse( is.na(census$locationlatitude),
NA,
call_geolocator_latlon(census$locationlatitude, census$locationlongitude)
)这假设call_geolocator_latlon是向量化的。
https://stackoverflow.com/questions/63731878
复制相似问题