我试图用tidycensus加载变量数据,但遇到了普遍的错误。
library(tidycensus)
library(tidyverse)
census_api_key("My key is here")
poverty <- get_acs(geography = "block group", variables = "B17021",
state = "MO", county = "St. Louis City", geometry = TRUE)我得到的错误是。
Error in as.character(x) : cannot coerce type 'closure' to vector of type
'character'我已经确保我运行的是最新的包,并输入了我的人口普查API密钥,但错误仍然存在。非常感谢您的任何建议
发布于 2018-03-28 00:14:21
如果不指定所需的“行”和“列”,则无法通过人口普查局API访问变量。From table B17021 you have many options;您可以选择的一个这样的选项是Income in the past 12 months below poverty level (行)的列( Estimate )。通常,格式正确的变量名的格式是TableName_VariableNumberType。因此,对于我刚才给出的例子:
表= B17021
002
E)
estimate它所对应的变量是"B17021_002E"。
但是,最好是简单地查阅相关的API documentation,以确保您拥有正确的变量名。表B17021大约从页面的一半开始,您可以对照您在FactFinder中看到的内容来交叉引用本指南,以确保您有正确的变量名。
顺便说一句,我在几年前为Python写了一篇关于这方面的指南。它有点过时了,但我已经把它贴到了my GitHub上,以防它会有所帮助。
编辑:看起来get_acs不需要你放入变量类型。如果不这样做,则返回的数据具有所有属性,这允许您从同一对象单独绘制估计值和误差幅度。这是一个很好的特性!
发布于 2018-04-04 23:14:28
@HFBrowning给出的答案很棒。另外:您可以使用table参数而不是variables参数来请求给定表中的所有变量,这将允许您提供的代码正常工作。例如:
poverty <- get_acs(geography = "block group", table = "B17021",
state = "MO", county = "St. Louis City", geometry = TRUE)工作,并允许您通过B17021_035获取变量B17021_001,而无需单独指定它们。
https://stackoverflow.com/questions/49502150
复制相似问题