首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >加载Tidycensus数据时遇到问题

加载Tidycensus数据时遇到问题
EN

Stack Overflow用户
提问于 2018-03-27 07:24:02
回答 2查看 337关注 0票数 4

我试图用tidycensus加载变量数据,但遇到了普遍的错误。

代码语言:javascript
复制
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)

我得到的错误是。

代码语言:javascript
复制
Error in as.character(x) : cannot coerce type 'closure' to vector of type 
'character'

我已经确保我运行的是最新的包,并输入了我的人口普查API密钥,但错误仍然存在。非常感谢您的任何建议

EN

回答 2

Stack Overflow用户

发布于 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

  • Row = 002

  • Type = (E)

  • = estimate

它所对应的变量是"B17021_002E"

但是,最好是简单地查阅相关的API documentation,以确保您拥有正确的变量名。表B17021大约从页面的一半开始,您可以对照您在FactFinder中看到的内容来交叉引用本指南,以确保您有正确的变量名。

顺便说一句,我在几年前为Python写了一篇关于这方面的指南。它有点过时了,但我已经把它贴到了my GitHub上,以防它会有所帮助。

编辑:看起来get_acs不需要你放入变量类型。如果不这样做,则返回的数据具有所有属性,这允许您从同一对象单独绘制估计值和误差幅度。这是一个很好的特性!

票数 2
EN

Stack Overflow用户

发布于 2018-04-04 23:14:28

@HFBrowning给出的答案很棒。另外:您可以使用table参数而不是variables参数来请求给定表中的所有变量,这将允许您提供的代码正常工作。例如:

代码语言:javascript
复制
poverty <- get_acs(geography = "block group", table = "B17021",
                   state = "MO", county = "St. Louis City", geometry = TRUE)

工作,并允许您通过B17021_035获取变量B17021_001,而无需单独指定它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49502150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档