任何见解将不胜感激!我正在尝试从表 B01001 中提取 2022 年指定 ZIP 的数据。
这是代码及其失败:
YearRangeEnd <- 2022
TblName <- 'B01001'
# ZIPs we want to report
ZIPs <- c(
'48411', '48420', '48423', '48430',
'48433', '48436', '48437', '48438',
'48439', '48451', '48457', '48458',
'48463', '48473', '48502', '48503',
'48504', '48505', '48506', '48507',
'48509', '48519', '48529', '48532'
)
ZIPData <-
get_acs (
geography = 'ZCTA'
, survey='acs5'
, table = TblName
, year = YearRangeEnd
, state = 26
, ZCTA = ZIPs
, cache_table = FALSE # TRUE
)
print (ZIPData)
输出:
从 2018-2022 5 年 ACS 获取数据
map()
中的错误:
ℹ 索引:1。
ℹ 姓名:1.
错误原因:
!您的 API 调用有错误。 返回的 API 消息是错误:未知/不支持的地理层次结构。
运行 rlang::last_trace()
查看错误发生的位置。
rlang::last_trace()
中的错误: ℹ 索引:1。 ℹ 姓名:1. 错误原因: !您的 API 调用有错误。 返回的 API 消息是错误:未知/不支持的地理层次结构。map()
回溯: ▆
└─cli::cli_abort(...)
└─rlang::abort(...)
获取细分数据的并行代码工作正常:
TblName <- 'B01001'
YearRangeEnd <- 2023
SubData <- get_acs(
geography="county subdivision", state=26
, county=049
, survey='acs5'
, year = YearRangeEnd
, table = TblName
, cache_table = TRUE
)
print (SubData)
我尝试用单个值替换邮政编码向量,将 ' 更改为 ",将单个值写为数字而不是字符串(tidycensus 文档说可以),重新启动 RStudio,更改参数值。
有人有任何见解吗?
所以看来邮政编码必须是数字。我已经在下面的代码中修复了。从代码来看,您似乎需要在非大写字母中使用“zcta”。对我有用,希望对你也有用!
YearRangeEnd <- 2022
TblName <- 'B01001'
# ZIPs we want to report
ZIPs <- c(
'48411', '48420', '48423', '48430',
'48433', '48436', '48437', '48438',
'48439', '48451', '48457', '48458',
'48463', '48473', '48502', '48503',
'48504', '48505', '48506', '48507',
'48509', '48519', '48529', '48532'
)
# I'm too tired to remove all the ' in the strings above
ZIPs <- as.numeric(as.character(ZIPs))
ZIPData <-
get_acs (
geography = 'zcta'
, survey='acs5'
, table = TblName
, year = YearRangeEnd
, state = 26
, ZCTA = ZIPs
, cache_table = FALSE # TRUE
)
print (ZIPData)