0

更新:所以在我的数据集中,其中一个坐标集是 (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]] 中都返回错误:下标超出范围

4

1 回答 1

0

您应该能够通过使用ifelse()as 来避免循环:

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

这假设call_geolocator_latlon是矢量化的。

于 2020-09-03T21:45:47.877 回答