Biroul de recensământ din SUA publică chiria pe care o plătește o gospodărie tipică în fiecare județ din țară, actualizată în fiecare an și o oferă printr-un API gratuit. Cu tidycensus pachet puteți extrage acele date – numere şi poligoane hărții pentru a o desena — într-un singur apel de funcție, apoi transformați-o într-o hartă națională în aproximativ douăzeci de linii. Aici cartografiem chiria medie brută pe județ pentru a vedea unde închirierea este scumpă și unde este ieftină.
Obținerea datelor
Datele provin de la Sondajul comunității americane (ACS)sondajul rulant al Biroului de Recensământ de aproximativ 3,5 milioane de adrese pe an. Folosim 5 ani estimări (aici 2019–2023), care reunesc cinci ani de răspunsuri, astfel încât chiar și județele mici, rurale, să obțină un număr de încredere. Variabila pe care o dorim este B25064_001: chiria medie brută în dolari — chirie prin contract plus utilități — pentru locuințe ocupate de chiriași.
tidycensus vorbește cu API-ul ACS, iar API-ul are nevoie de a cheie liberă. Solicitați unul la api.census.gov/data/key_signup.html; ajunge pe e-mail într-un minut. Activați-l, apoi instalați-l în R o dată – după aceea tidycensus îl găsește automat în fiecare sesiune, așa că nu îl puneți niciodată într-un script pe care îl partajați:
library(tidycensus)
census_api_key("YOUR_KEY_HERE", install = TRUE) # run once; writes to ~/.Renviron
Cu setul de chei, încărcați pachetele de care avem nevoie:
library(tidycensus) library(tigris) # shift_geometry(): repositions Alaska & Hawaii library(dplyr) library(sf) library(ggplot2) library(scales) # dollar labels library(patchwork) # combine the small-multiple maps options(tigris_use_cache = TRUE) # cache boundary files after first download
Acum un apel face totul. Solicitam variabila chirie la geography = "county"și – asta este ceea ce face tidycensus special — set geometry = TRUE deci descarcă și limitele județului și le returnează împreună cu datele ca an sf obiect. Plecând state unset ne dă fiecare judet din tara; shift_geometry() apoi pune Alaska și Hawaii sub 48 inferioare, astfel încât întreaga națiune să se potrivească cu un cadru.
us <- get_acs( geography = "county", variables = "B25064_001", # median gross rent (dollars) year = 2023, survey = "acs5", geometry = TRUE, resolution = "20m" # generalized boundaries: smaller, faster, fine for a national map ) us <- shift_geometry(us)
Rezultatul este o ordine sf cadru de date — un rând pe județ, valoarea în estimatemarja de eroare de 90% în moeși a geometry coloană. Privește întotdeauna înainte de a desena:
us # an sf object: data + polygons together ## Simple feature collection with 3222 features and 5 fields ## Geometry type: GEOMETRY ## Dimension: XY ## Bounding box: xmin: -3112200 ymin: -1697728 xmax: 2258154 ymax: 1558935 ## Projected CRS: USA_Contiguous_Albers_Equal_Area_Conic ## First 10 features: ## GEOID NAME variable estimate moe ## 1 13027 Brooks County, Georgia B25064_001 752 79 ## 2 31095 Jefferson County, Nebraska B25064_001 659 50 ## 3 51683 Manassas city, Virginia B25064_001 1835 62 ## 4 56021 Laramie County, Wyoming B25064_001 1080 29 ## 5 13135 Gwinnett County, Georgia B25064_001 1713 16 ## 6 20001 Allen County, Kansas B25064_001 685 60 ## 7 27065 Kanabec County, Minnesota B25064_001 1003 83 ## 8 28107 Panola County, Mississippi B25064_001 859 44 ## 9 31185 York County, Nebraska B25064_001 885 49 ## 10 42063 Indiana County, Pennsylvania B25064_001 786 28 ## geometry ## 1 MULTIPOLYGON (((1163909 -64... ## 2 MULTIPOLYGON (((-115252.6 3... ## 3 MULTIPOLYGON (((1580860 292... ## 4 MULTIPOLYGON (((-765818.2 5... ## 5 MULTIPOLYGON (((1073286 -32... ## 6 MULTIPOLYGON (((41912.94 35... ## 7 MULTIPOLYGON (((192562.6 95... ## 8 MULTIPOLYGON (((527838.1 -3... ## 9 MULTIPOLYGON (((-152283 398... ## 10 MULTIPOLYGON (((1383131 460... summary(us$estimate) # the spread of county rents ## Min. 1st Qu. Median Mean 3rd Qu. Max. NAs ## 253.0 742.0 848.5 928.4 1021.0 2893.0 10 sum(is.na(us$estimate)) # counties with no published estimate ## (1) 10
Două lucruri de remarcat. O mână de județe revin NA — în cea mai mare parte populații mici pe care Biroul le suprimă pentru confidențialitate; le vom lăsa să redea în gri. Și asta moe coloana este un memento care sunt acestea estimări ale sondajuluinu un recensământ: chiria unui județ este „1.200 USD ± 80 USD”, nu tocmai 1.200 USD. Pentru o hartă națională, incertitudinea este mică în raport cu intervalul, dar există.
Harta-l
Chiria este o cantitate secvențială – de la mic la mare – așa că umplem cu o paletă secvențială (viridis) plasma), care este sigur pentru daltonism și se citește clar în tipărire. geom_sf() desenează poligoane; orice altceva sunt etichete și o temă curată, prietenoasă cu hărți.
ggplot(us) +
geom_sf(aes(fill = estimate), color = NA) +
scale_fill_viridis_c(
option = "plasma",
labels = label_dollar(),
na.value = "grey85",
name = "Medianngross rent"
) +
labs(
title = "Median gross rent by county, United States",
subtitle = "American Community Survey, 2019–2023 5-year estimates",
caption = "Source: U.S. Census Bureau ACS, via the R tidycensus package"
) +
theme_void(base_size = 13) +
theme(plot.title = element_text(face = "bold"),
legend.position = c(0.92, 0.3))

Citind harta
Chiria medie tipică a județului este de aproximativ 848 USD — dar harta este o poveste cu câteva grupuri luminoase pe un interior larg și mai întunecat. Chiria curge de la 253 USD in judetul Issaquena pana la 2.893 USD în județul San Mateo, o răspândire de unsprezece ori. Doar despre 6% dintre județe depășesc 1.500 de dolari și nu sunt împrăștiate la întâmplare: se concentrează în coasta Californiei și în zona golfului, pe coridorul Washington-Boston și în buzunarele din jurul Seattle, Denver și stațiunea montană de vest. Deoarece fiecare număr din acest paragraf este calculat din același obiect pe care l-am mapat, textul se potrivește întotdeauna cu imaginea – se reîmpletește anul viitor și se actualizează ambele împreună.
Cele mai scumpe județe concretizează concentrația litorală:
d |> arrange(desc(estimate)) |> transmute(County = NAME, `Median rent` = scales::dollar(estimate)) |> head(8) |> knitr::kable()
| judetul | Chiria medie |
|---|---|
| Comitatul San Mateo, California | 2.893 USD |
| Comitatul Santa Clara, California | 2.814 USD |
| Comitatul Marin, California | 2.584 USD |
| Comitatul San Francisco, California | 2.419 USD |
| Orange County, California | 2.352 USD |
| Comitatul Contra Costa, California | 2.322 USD |
| Comitatul Alameda, California | 2.318 USD |
| Comitatul Loudoun, Virginia | 2.317 USD |
Zoom asupra statelor
O hartă națională aplatizează ceea ce se întâmplă interior fiecare stat. The state = argumentul rezolvă asta – acceptă un vector, așa că un apel trage mai multe stări simultan. Aici le luăm pe cele patru cele mai populate, apoi le desenăm pe fiecare propria scala de culori pentru a scoate în evidență unde se concentrează chiria în cadrul fiecăruia.
states <- c("California", "Texas", "Florida", "New York")
sc <- get_acs(geography = "county", variables = "B25064_001", state = states,
year = 2023, survey = "acs5", geometry = TRUE, resolution = "20m")
sc$state <- sub(".*, ", "", sc$NAME) # pull the state name out of "County, State"
one_state <- function(st) {
ggplot(filter(sc, state == st)) +
geom_sf(aes(fill = estimate), color = "grey92", linewidth = 0.05) +
scale_fill_viridis_c(option = "plasma", labels = label_dollar(),
na.value = "grey85", name = NULL) +
labs(title = st) +
theme_void(base_size = 12) +
theme(plot.title = element_text(face = "bold", hjust = 0.5),
legend.key.width = unit(0.35, "cm"), legend.text = element_text(size = 8))
}
(one_state("California") | one_state("Texas")) /
(one_state("Florida") | one_state("New York")) +
plot_annotation(
title = "Median gross rent by county — each state on its own colour scale",
caption = "Source: U.S. Census Bureau ACS, via the R tidycensus package",
theme = theme(plot.title = element_text(face = "bold", size = 15)))


Modelul se repetă cu variații. California este scumpă pe aproape întreaga sa coastă, cu zona Bay în vârful gamei sale. New York este cea mai puternică împărțire – în josul statului (New York City, Long Island, Westchester) față de un nord uniform și ieftin. Banii din Florida sunt pe apă: sud-est în jurul Miami, sud-vest în jurul Napoli, interiorul mult mai ieftin. Texasul este în mare parte metrourile sale – Austin și Houston – dar rețineți că grupul luminos din vest, comitatele petroliere din Bazinul Permian, unde criza locuințelor nu are nimic de-a face cu un oraș mare.
O atenție despre citirea acestora împreună: deoarece fiecare panou are propria sa scară, aceeași culoare înseamnă chirii diferite în diferite state – un județ „strălucitor” Texas (aproximativ 1.500 USD) chirii cu mult mai puțin decât unul luminos din California (aproape de (2.800). Scalele pe stat dezvăluie *modelul intern*; ADEVĂRAT)`) în schimb.
Fă-l al tău
Nimic de mai sus nu este specific chiriei. Schimbați un cod de variabilă și mapați cu totul altceva; schimba geography si schimbi rezolutia:
B19013_001— venitul mediu al gospodărieiB25077_001— valoarea medie a locuințeiDP02_0154PE— gospodăriile cu abonament în bandă largă (procent)geography = "tract"cu astateşicounty— o hartă la nivel de cartier a unui singur metrou
Pentru a găsi o variabilă, răsfoiți tabelul ACS complet cu load_variables(2023, "acs5") și caută-l – sunt zeci de mii. Modelul rămâne același: get_acs() cu geometry = TRUEatunci geom_sf().
Asta e tot. Aveți acum un script care extrage un set de date național cu autoritate, îl alătură propriei sale geografii și îl cartografiază – și repunctează orice variabilă sau loc cu o schimbare pe o singură linie.
