3

R米国国勢調査データの操作を容易にするパッケージがいくつかあります。私が最も頻繁に使用するのはtigris、(空間データの読み込み用) とacs(表形式データの読み込み用) の 2 つです。

Rしかし、私が常に直面している問題の 1 つは、コンソールを離れずに Place 内のすべてのトラクト (またはブロック グループ、郵便番号など) を特定するための効率的で信頼できる方法を見つけられないことです。

たとえば、シアトルの国勢調査区画データを処理したい場合はtigris::tracts、ワシントン州キング郡の空間データをダウンロードすることから始めます。

library(tigris)
tr <- tigris::tracts(state = "WA", county = "King")

しかし残念ながら、このデータをサブセット化してシアトルの地区だけを含める明確な方法はありません。

glimpse(tr)
Observations: 398
Variables: 12
$ STATEFP  (chr) "53", "53", "53", "53", "53", "53", "53", ...
$ COUNTYFP (chr) "033", "033", "033", "033", "033", "033", ...
$ TRACTCE  (chr) "003800", "021500", "032704", "026200", "0...
$ GEOID    (chr) "53033003800", "53033021500", "53033032704...
$ NAME     (chr) "38", "215", "327.04", "262", "327.03", "3...
$ NAMELSAD (chr) "Census Tract 38", "Census Tract 215", "Ce...
$ MTFCC    (chr) "G5020", "G5020", "G5020", "G5020", "G5020...
$ FUNCSTAT (chr) "S", "S", "S", "S", "S", "S", "S", "S", "S...
$ ALAND    (dbl) 624606, 3485578, 17160645, 15242622, 10319...
$ AWATER   (dbl) 0, 412526, 447367, 526886, 175464, 0, 4360...
$ INTPTLAT (chr) "+47.6794093", "+47.7643848", "+47.4940877...
$ INTPTLON (chr) "-122.2955292", "-122.2737863", "-121.7717...

同様に、このacsパッケージでは、関数を使用して国勢調査データのサブセットを作成できますgeo.makeが、私の例では、シアトルのすべての地区の地区 GEOID のリストをまだ持っていない場合、これは役に立ちません。

記録のために、私はこの情報を他の場所で決定できることを認識しています. Census.gov の FAQ のこのページでは、特定の国勢調査場所のすべての地区を特定する方法について明確な指示が提供されています。しかし、これは多くの国勢調査関連の分析において重要なステップであることを考えると、コンソールからR簡単に実行できる方法があれば最高です。

前もって感謝します。

編集

この質問は空間データを扱っていますが、非空間的な解決策を見つけることに最も興味があります。たとえば、Census API にクエリを実行し、目的の GEOID のベクトルを返すソリューションを、空間分析ツール (例: rgeos::intersects) を使用してベクトルを作成するソリューションに返します。なんで?空間的なアプローチは、このプロセスで単純にエラーが発生しやすく、これは私たちが話している既知の情報であり、空間的に推測する必要があるものではないためです。

4

2 に答える 2

2

私はしばしば同じ種類のデータを必要とするので、この仕事をするために R パッケージを書きました。このパッケージは と呼ばれtotalcensusます。https://github.com/GL-Li/totalcensusで見つけることができます。

このパッケージを使用すると、町、市、郡、大都市圏、およびその他すべての地理的領域の地域、ブロック グループ、またはブロック レベルでデータを非常に簡単に取得できます。たとえば、2011 年から 2015 年までの ACS の 5 年間の調査からさまざまな地域のブロック グループ レベルでレース データを取得する場合は、次のようなコードを実行するだけです。

mixed <- read_acs5year(
    year = 2015,
    states = c("ut", "ri"),
    table_contents = c(
        "white = B02001_002",
        "black = B02001_003",
        "asian = B02001_005"
    ),
    areas = c(
        "Lincoln town, RI",
        "Salt Lake City city, UT",
        "Salt Lake City metro",
        "Kent county, RI",
        "COUNTY = UT001",
        "PLACE = UT62360"
    ),
    summary_level = "block group"
)

次のようなデータを返します。

#                      area               GEOID        lon      lat state population white black asian GEOCOMP SUMLEV                                                             NAME
#    1:    Lincoln town, RI 15000US440070115001  -71.46686 41.94419    RI       1561  1386   128    47     all    150 Block Group 1, Census Tract 115, Providence County, Rhode Island
#    2:    Lincoln town, RI 15000US440070115002  -71.47159 41.96754    RI        916   806    97     0     all    150 Block Group 2, Census Tract 115, Providence County, Rhode Island
#    3:    Lincoln town, RI 15000US440070115003  -71.47820 41.96364    RI       2622  2373    77    86     all    150 Block Group 3, Census Tract 115, Providence County, Rhode Island
#    4:    Lincoln town, RI 15000US440070115004  -71.47830 41.97346    RI       1605  1516    43     0     all    150 Block Group 4, Census Tract 115, Providence County, Rhode Island
#    5:    Lincoln town, RI 15000US440070116001  -71.44665 41.93120    RI        948   764     0     0     all    150 Block Group 1, Census Tract 116, Providence County, Rhode Island
# ---                                                                                                                                                                               
# 1129: Providence city, UT 15000US490050012011 -111.82424 41.69198    UT       2018  1877     0     0     all    150            Block Group 1, Census Tract 12.01, Cache County, Utah
# 1130: Providence city, UT 15000US490050012012 -111.80736 41.69323    UT       1486  1471     0     0     all    150            Block Group 2, Census Tract 12.01, Cache County, Utah
# 1131: Providence city, UT 15000US490050012013 -111.81310 41.65837    UT       1563  1440    15     0     all    150            Block Group 3, Census Tract 12.01, Cache County, Utah
# 1132: Providence city, UT 15000US490050012022 -111.85231 41.68674    UT       3894  3594     0     0     all    150            Block Group 2, Census Tract 12.02, Cache County, Utah
# 1133: Providence city, UT 15000US490059801001 -111.64525 41.67498    UT        118   118     0     0     all    150             Block Group 1, Census Tract 9801, Cache County, Utah
于 2017-12-04T14:56:25.400 に答える