尝试使用tidycensus软件包下载数据。
当我读到它时,tidycensus支持2000的块.Tract工作,块组工作,块失败
library(tidycensus)
library(tidyverse)
library(viridis)
library(ggplot2)
library(dplyr)
#------Get Decennial Census Data
ut2000tract <- get_decennial(geography = "tract", variables = "P001001",
year = 2000, sumfile = "sf1", key = mykey, state = "49", county = "035",
geometry = FALSE)
ut2000BG <- get_decennial(geography = "block group", variables =
"P001001", year = 2000, sumfile = "sf1",
key = mykey, state = "49", county = "035", geometry = FALSE)
ut2000block <- get_decennial(geography = "block", variables = "P001001",
year = 2000, sumfile = "sf1", key = mykey, state = "49", county = "035",
geometry = FALSE)
生成以下错误:
1“检查SF3 API以获取数据...”1“客户端错误错误请求 客户端错误:(400)错误请求“错误 stri_replace_first_regex(string,pattern, fix_replacement(replacement),:参数
str
应该是 字符向量(或强制对象)错误 gather.default(。,key = variable,value = value,-GEOID,-NAME):
找不到对象'NAME'
我知道块应该是有效的几何体;我只想要一个人口/块的计数,它位于Census 2000 SF1 file。不知道为什么 tidycensus无效。拉动2010年的数据似乎有效。但不是2000年。
totalcensus不包括2000年人口普查
答案 0 :(得分:1)
我是tidycensus的作者;我在GitHub问题页面(https://github.com/walkerke/tidycensus/issues/51)上回答了这个问题,但我会在这里交叉发布。
这是由于Census API的限制; 2000年的块数据只能通过API中的县内的人口普查区获得,目前我在包中没有处理此功能的功能。我在包中添加了一条新的错误消息来解释这一点。我推荐的替代方案:
map_df()
来迭代这些ID并获得所需的输出。