R中的邮政编码人口统计资料

时间:2011-06-01 00:07:28

标签: r census

我可以实现我的目标“漫长的道路”,但我希望完全保留在R内。我希望通过邮政编码将人口普查人口统计数据附加到我的数据库中的记录中。我知道R有一些基于人口普查的软件包,但是,除非我遗漏了某些内容,否则这些数据似乎不存在于邮政编码级别,也不会直观地合并到现有数据框架上。

简而言之,是否可以在R中执行此操作,或者是我在其他地方获取数据并将其读入R的最佳方法?

任何帮助将不胜感激!

5 个答案:

答案 0 :(得分:6)

简而言之,没有。普查到拉链翻译通常是从专有来源创建的。

从人口普查的角度来看,你不太可能在邮政编码层面找到任何东西(隐私)。然而,这并不意味着你被冷落了。您可以使用您拥有的邮政编码,并附加来自MSA,muSA或CSA级别的人口普查数据。现在您只需要在MSA,muSA或CSA中列出邮政编码,以便合并。如果您还没有这样的列表,那么网上很多都很便宜。

例如,在加拿大,我们可以从FSA级别的CRA获得收入数据(邮政编码的前三位数字为A1A 1A1)。我不确定美国国税局提供类似信息的内容是什么,我也不太熟悉美国人口普查数据,但我认为他们至少在CSA层面提供信息。

如果你对所有这些首字母缩略词感到困惑:

  1. MSA:http://en.wikipedia.org/wiki/Metropolitan_Statistical_Area
  2. CSA:http://en.wikipedia.org/wiki/Combined_statistical_area
  3. muSA:http://en.wikipedia.org/wiki/Micropolitan_Statistical_Area

答案 1 :(得分:3)

正如该线程中的其他人所提到的,Census Bureau American FactFinder是全面详细数据的免费来源。不幸的是,以原始格式使用它并不是特别容易。

我们已经提取,清理,合并和重新格式化了人口普查局的数据。此过程的详细信息以及如何使用数据文件可在我们的team blog中找到。

这些表实际上都没有一个名为“ ZIP代码”的字段。而是有一个名为“ ZCTA5”的字段。 ZCTA5(或ZCTA)可以被认为可以与以下注意事项提供的邮政编码互换:

  • 没有用于邮政信箱邮政编码的ZCTA-这意味着,对于42,000个美国邮政编码,有32,000个ZCTA。
  • ZCTAs(代表邮政编码列表区域)基于邮政编码,但不一定遵循确切的邮政编码边界。如果您想了解有关ZCTA的更多信息,请参阅this link。人口普查局还提供了animation,以显示ZCTA的形成方式。

答案 2 :(得分:1)

我刚刚写了一个名为totalcensushttps://github.com/GL-Li/totalcensus)的R包,您可以轻松地在十年一次的人口普查和ACS调查中提取任何数据。

对于这个老问题,如果您仍然关心,您可以从十年一次人口普查2010年或2015年ACS 5年调查的国家数据中获得总人口(默认情况下)和其他种族人口。

从2015年ACS 5年调查开始。使用download_census("acs5year", 2015, "US")下载国家数据,然后:

zip_acs5 <- read_acs5year(
    year = 2015,
    states = "US",
    geo_headers = "ZCTA5",
    table_contents = c(
        "white = B02001_002",
        "black = B02001_003",
        "asian = B02001_005"
    ),
    summary_level = "860"
)

#               GEOID        lon      lat ZCTA5 state population white black asian GEOCOMP SUMLEV        NAME
#     1: 86000US01001  -72.62827 42.06233 01001    NA      17438 16014   230   639     all    860 ZCTA5 01001
#     2: 86000US01002  -72.45851 42.36398 01002    NA      29780 23333  1399  3853     all    860 ZCTA5 01002
#     3: 86000US01003  -72.52411 42.38994 01003    NA      11241  8967   699  1266     all    860 ZCTA5 01003
#     4: 86000US01005  -72.10660 42.41885 01005    NA       5201  5062    40    81     all    860 ZCTA5 01005
#     5: 86000US01007  -72.40047 42.27901 01007    NA      14838 14086   104   330     all    860 ZCTA5 01007
# ---                                                                                                     
# 32985: 86000US99923 -130.04103 56.00232 99923    NA         13    13     0     0     all    860 ZCTA5 99923
# 32986: 86000US99925 -132.94593 55.55020 99925    NA        826   368     7     0     all    860 ZCTA5 99925
# 32987: 86000US99926 -131.47074 55.13807 99926    NA       1711   141     0     2     all    860 ZCTA5 99926
# 32988: 86000US99927 -133.45792 56.23906 99927    NA        123   114     0     0     all    860 ZCTA5 99927
# 32989: 86000US99929 -131.60683 56.41383 99929    NA       2365  1643     5    60     all    860 ZCTA5 99929

来自2010年人口普查。使用download_census("decennial", 2010, "US")下载国家数据,然后:

zip_2010 <- read_decennial(
    year = 2010,
    states = "US",
    table_contents = c(
        "white = P0030002", 
        "black = P0030003",
        "asian = P0030005"
    ),
    geo_headers = "ZCTA5",
    summary_level = "860"
)

#               lon      lat ZCTA5 state population white black asian GEOCOMP SUMLEV
#     1:  -66.74996 18.18056 00601    NA      18570 17285   572     5     all    860
#     2:  -67.17613 18.36227 00602    NA      41520 35980  2210    22     all    860
#     3:  -67.11989 18.45518 00603    NA      54689 45348  4141    85     all    860
#     4:  -66.93291 18.15835 00606    NA       6615  5883   314     3     all    860
#     5:  -67.12587 18.29096 00610    NA      29016 23796  2083    37     all    860
# ---                                                                            
# 33116: -130.04103 56.00232 99923    NA         87    79     0     0     all    860
# 33117: -132.94593 55.55020 99925    NA        819   350     2     4     all    860
# 33118: -131.47074 55.13807 99926    NA       1460   145     6     2     all    860
# 33119: -133.45792 56.23906 99927    NA         94    74     0     0     all    860
# 33120: -131.60683 56.41383 99929    NA       2338  1691     3    33     all    860

答案 3 :(得分:0)

你最好的选择可能是U.S. Census Bureau TIGER/Line shapefiles。他们在州一级拥有2010年的邮政编码制表区域形状文件(ZCTA5),可能足以满足您的需要。

人口普查数据本身可以在American FactFinder找到。例如,您可以在子县级(即城市/城镇)获得人口估计值,但不能获得邮政编码级别的直接人口估计值。我不知道您的数据集的详细信息,但是一个解决方案可能需要使用也作为TIGER / Line数据的一部分提供的关系表,或者在空间上连接包含人口普查数据的地名(子数量形状文件)使用ZCTA5代码。

元数据注释:“这些产品可以在产品或出版物中免费使用,但必须确认美国人口普查局作为来源。”

HTH

答案 4 :(得分:0)

简单的for循环即可获取zip级填充。但是,您需要获取一把钥匙。现在是美国。

masterdata <- data.table()

    for(z in 1:length(ziplist)){
      print(z)
      textt <- paste0("http://api.opendatanetwork.com/data/v1/values?variable=demographics.population.count&entity_id=8600000US",ziplist[z],"&forecast=3&describe=false&format=&app_token=YOURKEYHERE")

      errorornot <- try(jsonlite::fromJSON(textt), silent=T) 
      if(is(errorornot,"try-error")) next

      data <- jsonlite::fromJSON(textt)
      data <- as.data.table(data$data)
      zipcode <- data[1,2]
      data <- data[2:nrow(data)]
      setnames(data,c("Year","Population","Forecasted"))
      data[,ZipCodeQuery:=zipcode]
      data[,ZipCodeData:=ziplist[z]]
      masterdata <- rbind(masterdata,data)

    }