Choroplethr v4.0.0 este acum pe Cran

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

(Acest articol a fost publicat pentru prima dată pe R – Ari Lamsteinși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)


Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.

choroplethr Versiunea 4.0.0 este acum pe CRAN. Îl puteți instala astfel:


install.packages("choroplethr")

packageVersion("choroplethr") # (1) ‘4.0.0’

Cu această versiune, am transferat întreținerea Choroplethr către Zhaochen He, profesor de economie la Christopher Newport University. Zhao a abordat problemele care au dus la arhivarea lui Choroplethr din CRAN în februarie. Vă rugăm să vă alăturați -mi mulțumind lui Zhao pentru contribuția sa!

Modificări în v4.0.0

Modificările principale ale acestei versiuni sunt:

  • Choroplethr folosește acum doar tidycensus Pachet pentru a obține date din API -ul Biroului de recensământ. Prin eliminarea dependenței de acs Pachet (care a fost recent arhivat), Choroplethr poate fi găzduit din nou pe CRAN.
  • Date returnate de funcții get_state_demographics, get_county_demographics şi get_tract_demographics a fost simplificat. Aceste funcții au returnat anterior opt coloane de date pentru fiecare regiune. Acum se întorc doar două: population şi median_hh_income.
  • Funcția choroplethr_animate a fost eliminat din pachet.

Lucrări viitoare

Dezvoltarea viitoare a Choroplethr va fi decisă de Zhao. Aceasta este cea mai bună parte din a fi un întreținător și nu vreau să o iau de la el. Dar, de asemenea, vreau să notez trei probleme pe care le văd în fața proiectului: hărți învechite, funcții simple și compatibilitate înapoi.

Hărți învechite

Când Choroplethr a fost lansat în 2014, una dintre contribuțiile sale a fost ambalarea hărților contemporane și le -a făcut accesibile întregului ecosistem R. (Pentru referință, la acea vreme, harta lumii care a fost expediată cu maps Pachetul a inclus încă URSS!)

Din păcate, aceste hărți sunt acum depășite și provoacă probleme în unele cazuri. De exemplu, în 2022, recensământul a schimbat numele și limitele echivalenților județului din Connecticut (Link). Deoarece harta județului Choroplethr este din 2010, încercarea de a cartografia datele din 2022 sau mai târziu generează o eroare. Iată un fragment de cod care demonstrează problema:

library(choroplethr)

#Works
df = get_county_demographics(2021)
df$value = df$population
county_choropleth(df, state_zoom='connecticut')

#Error
df = get_county_demographics(2022)
df$value = df$population
county_choropleth(df, state_zoom='connecticut')

Pe lângă harta județului, cred că următoarele hărți ar trebui actualizate și:

  • Pachetele ChoropleThrzip ale Biroului de recensământ din 2010 Zona de tabelare a codului zidnic (ZCTA). O versiune mai nouă a acestei hărți a fost publicată în 2020. Se pare că există diferențe semnificative între cele două versiuni și cred că Choroplethr ar trebui să o folosească pe cea mai nouă.
  • MAPA CHOROPLETHR (Admin 0) este versiunea 2.0.0 din datele naturale ale Pământului. Cea mai recentă versiune este 5.1.1. A fi pe cea mai recentă versiune majoră a hărții pare o idee bună.
  • Provincia Choroplethr (Admin 1) MAP este versiunea 3.0.0 din Natural Earth Data. Cea mai recentă versiune este 5.1.0. A fi pe cea mai recentă versiune majoră a acestei hărți pare, de asemenea, o idee bună.
  • Chemare county_choropleth De fapt, face două hărți: o hartă de stat suprapusă pe o hartă a județului. Acest lucru îi ajută pe utilizatori să înțeleagă care județe fac parte din care statul. În prezent, ambele hărți sunt din 2010. Dacă actualizăm harta județului, atunci cred că ar trebui să actualizăm și harta de stat pentru a fi din același an.
Caracteristici simple

Choroplethr a fost publicat atunci când cea mai bună modalitate de a face o hartă cu GGPLOT2 a fost prin „fortificarea” unei forme de formă. Spre sfârșitul dezvoltării mele active pe Choroplethr, pachetul „Caracteristici simple” a fost creat. Impresia mea este că ar putea exista avantaje pentru migrarea choroplethrului pentru a utiliza funcții simple. Din păcate, nu am ajuns niciodată să cercetez acest lucru.

Cred că ar fi util dacă cineva să cerceteze caracteristici simple și să genereze o opinie în cunoștință de cauză dacă (și cum) să o încorporeze în Choroplethr.

Compatibilitate înapoi

Unul dintre punctele culminante ale dezvoltării Choroplethr a fost atunci când Biroul de recensământ al SUA a comandat un curs video pe acesta. Acest curs este încă pe site -ul lor web (link) și ar fi penibil dacă instrucțiunile din el ar înceta cumva să funcționeze.

Acestea fiind spuse, cursul a fost publicat în 2016 și nu ar trebui să prevină inovația autentică. Nu sunt sigur cel mai bun mod de a echilibra acest lucru și este posibil să am devenit prea conservator în ceea ce privește ruperea compatibilității înapoi după lansarea cursului.

Sper că Zhao poate găsi un echilibru între inovație și respectarea compatibilității înapoi.

Exemplu

Înapoi în ziua de epocă a lui Choroplethr, aș include un exemplu în fiecare postare. Aceasta ar putea fi ultima mea postare despre Choroplethr și am crezut că ar fi frumos să includ și un exemplu aici.

De la ieșirea funcțiilor care obțin demografia de stat, județ și tract s -au schimbat, să le folosim. Putem folosi aceste funcții pentru a explora modul în care veniturile mediane ale gospodăriei din SUA s-au schimbat între 2009 (primii 5 ani ACS) și 2023 (ultimii 5 ani ACS).

Schimbarea venitului median al gospodăriei de stat

Iată cum să mapați modificarea procentuală a veniturilor mediane în fiecare stat între 2009 și 2023:

library(choroplethr)
stopifnot(packageVersion("choroplethr") >= '4.0.0')

#Get data from 2009 and 2023
df_2009 = get_state_demographics(2009, 5)
df_2009$value = df_2009$median_hh_income
df_2023 = get_state_demographics(2023, 5)
df_2023$value = df_2023$median_hh_income

#Calculate and map percent change
df_final = calculate_percent_change(df_2009, df_2023)
state_choropleth(df_final,
    title = 'Change in Median Household Income: 2009 to 2023',
    legend = 'Percent Change',
    num_colors = 4)

Această hartă m -a surprins cu adevărat. Practic toate statele din quartile de vârf sunt în jumătatea vestică a țării. Și multe dintre excepțiile de la această regulă (Nevada, Wyoming și New Mexico) sunt în cel mai mic quartile.

Schimbarea venitului median al gospodăriei județene

Pentru harta județului, haideți să zoom în cele cinci județe care alcătuiesc New York City. Utilizarea unei scări continue ne va ajuta să vedem amploarea diferenței dintre fiecare județ. (Reamintim că atunci când lucrați cu județe, trebuie să utilizați coduri FIPS).

df_2009 = get_county_demographics(2009)
df_2009$value = df_2009$median_hh_income
df_2023 = get_county_demographics(2023)
df_2023$value = df_2023$median_hh_income

df_final = calculate_percent_change(df_2009, df_2023)

nyc_counties = c(36005, 36047, 36061, 36081, 36085)
county_choropleth(df_final,
    title = 'Change in Median Household Income: 2009 to 2023nCounties in New York City',
    legend = 'Percent Change',
    num_colors = 1,
    county_zoom = nyc_counties)

Din păcate county_choropleth Nu tipărește numele județelor, așa că trebuie să aveți o anumită familiaritate cu New York pentru a înțelege această hartă. Cel mai întunecat județ este Brooklyn (județul Kings), care a avut o creștere a veniturilor mediane ale gospodăriei de 83% în doar 14 ani!

Schimbarea venitului median al gospodăriei tractului

M -am întrebat dacă toată Brooklyn a avut o creștere mare a veniturilor, sau doar o parte din acesta. Putem răspunde la această întrebare analizând tracturile de recensământ din Brooklyn:

df_2009 = get_tract_demographics("new york", 36047, 2009)
df_2009$value = df_2009$median_hh_income
df_2023 = get_tract_demographics("new york", 36047, 2023)
df_2023$value = df_2023$median_hh_income

df_final = calculate_percent_change(df_2009, df_2023)

tract_choropleth(df_final,
    "new york", 
    county_zoom=36047,
    legend="Percent Change",
    title="Change in Median Household Income: 2009-2023nCensus Tracts in Brooklyn, NY")

Se pare că jumătatea nordică a Brooklyn a înregistrat o creștere mult mai mare a veniturilor mediane ale gospodăriei decât jumătatea sudică. Acest lucru s -ar putea datora apropierii sale de Manhattan (nordul Brooklyn este conectat la Manhattan de trei poduri și un tunel). Rețineți, de asemenea, intervalul scării: trece de la -40,5% la 362,9%!

Concluzie

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.