我正在寻找夏威夷城市的人口,并且对如何使用censusapi
getCensus((函数收集人口感到困惑。
census_api_key(key='YOURKEYHERE')
newpopvars <- listCensusMetadata(name = "2017/pep/population", type = "variables")
usapops <- getCensus(name = "pep/population",
vintage = 2017,
vars = c(newpopvars$name),
region = "place:*")
usapops <- usapops[which(usapops$DATE_==10),]
state <- grepl("Hawaii", usapops$GEONAME)
cities <- data.frame()
for (i in seq(1,length(state))) {
if (state[i] == TRUE) {
cities <- rbind(cities,usapops[i,])
}
}
这只返回了两个城市,但肯定不止夏威夷。我做错了什么?
夏威夷只有一个地方(人口普查汇总级别 160(足够大,可以包含在为期 1 年的美国社区调查版本中:"城市檀香山"(GeoID 1571550(。 1年发布仅包括65,000+人口的地方。 我假设类似的控制适用于人口估计程序 - 我找不到它直接说明,但城镇人口估计下载页面上的部分标题说"50,000或更多的地方" - 夏威夷人口第二多的CDP是东檀香山,在2013-2017 ACS版本中只有47,868。
如果您使用 ACS 5 年数据发布,您将在摘要级别 160 找到 151 个位置。
看起来您应该在getCensus
呼叫中将pep/population
更改为acs/acs5
。我不知道 API 的具体变量,但如果您只想要地点的总人口,请使用 ACS B01003 表,该表具有具有该值的单列。