(Acest articol a fost publicat pentru prima dată pe R pe kieranhealy.orgși cu amabilitate a contribuit la R-bloggeri). (Puteți raporta problema legată de conținutul acestei pagini aici)
Doriți să vă distribuiți conținutul pe R-bloggeri? dați clic aici dacă aveți un blog, sau aici dacă nu aveți.
Victoria lui Mamdani la alegerile pentru primarul orașului New York mi-a oferit ocazia să desenez câteva hărți și, de asemenea, să învăț puțin despre încorporarea datelor spațiale suplimentare în hărțile desenate în R. R. nu este o piesă specializată de software GIS. ArcGIS de la ESRI fiind gorila de 800 lb din această lume și QGIS fiind GIMP pentru Photoshop-ul său, ca să spunem așa.
Totuși, puteți face o mulțime de lucruri spațiale în R, bazate pe sf pachet și mulți prieteni. În plus, beneficiați de toate elementele de manipulare și analiză a datelor la care R este foarte bun. Așadar, după ce am obținut rezultatele alegerilor la nivel de circumscripție, unele hărți din New York City (de exemplu, harta delimitată a cartierului) și datele GTFS de la MTA care descriu structura sistemului de metrou, am reușit să desenez câteva lucruri. Apropo, aprob cu tărie existența GTFS. Este o specificație pentru codificarea datelor de tranzit și o mulțime de orașe o folosesc. Chiar la îndemână.
Oricum, iată o hartă. Pentru fiecare circumscripție cu peste douăzeci de alegători, am combinat votul Sliwa/Cuomo în ceea ce am putea numi (pur din motive de compactitate) votul Slimo, am calculat cotele de vot Mamdani și Slimo ca proporție și am scăzut pe primul din cel din urmă. Asta ne aduce un scor de la -1 la +1. Apoi am tăiat-o în coșuri, zece pe fiecare parte a liniei zero, pentru a obține decile în fiecare direcție. Cu asta umplem incinta. Pentru harta am desenat si statiile si liniile de metrou. Mai multe linii care sunt chiar una lângă alta sunt de fapt trasate una peste alta în mai multe locuri, de exemplu, A și C, sau 1 și 3, etc, dar asta nu contează pentru această hartă. (Este posibil să fi auzit că desenarea hărților de tranzit destinate navigației este o provocare foarte grea de proiectare a informațiilor.) Apoi folosim o scară discretă, divergentă. Iată rezultatul.

Oh, coropleți
Am ales un gradient de culoare albastru-verde parțial pentru a experimenta cu el și parțial pentru că nici alegerile, nici această reducere specială a datelor nu sunt destul de obișnuite Albastru vs Roșu, Democrat vs Republican. În primul rând, am amalgamat doi candidați pe o parte a spectrului. Pe de altă parte, Cuomo este într-un fel democrat, așa că modul în care alegătorii au fost împărțiți este mai complicat decât ar fi în mod normal. Andrew Gelman are mai multe gânduri despre asta astăzi.
Puteți vedea o grămadă de modele frumoase de cartier, cum ar fi comunitățile hasidice din Brooklyn, care au votat ferm pentru Cuomo. Și puteți vedea, de asemenea, dovezi ale slăbiciunii caracteristice a coropleților, care este modul în care aceștia pot forța un număr care caracterizează un anumit număr de persoane să fie reprezentat printr-o formă reprezentând o anumită zonă a spațiului.
O soluție pentru aceasta este realizarea unei hărți cu densitatea punctelor. Puneți un punct pe hartă pentru fiecare persoană (sau poate fiecare n oameni) pe care doriți să o reprezentați. Iată cum arată, cu o reprezentare 1 la 1 a punctelor pentru alegători.


Punct punct punct.
Acest lucru este mai bun decât un coroplet în unele moduri cheie. În primul rând, puteți vedea că, chiar și în New York City, unele locuri sunt mult mai dens populate decât altele și, de asemenea, sunt mai probabil să se prezinte la vot. Pentru a fi clar, atunci când spun „fiecare punct reprezintă un vot”, nu este ca și cum aș cunoaște identitatea fiecărui alegător sau cum a votat, sau aș putea să-i găsesc exact la adresa lor de acasă. Promit că nu știu asta. Doar NSA și Compania de Telefon știu chestia asta. Ceea ce știu este câte voturi au fost exprimate pentru fiecare candidat în fiecare dintre cele 4.200 de circumscripții. Și am un poligon care reprezintă forma fiecărei incinte. Deci, eșantionez spațial fără înlocuire în fiecare poligon pentru a plasa aleatoriu un punct pentru fiecare alegător în incinta lor. Cu două milioane de voturi, efectul punctilist ajunge să fie destul de eficient.


Detaliu PDF.
Există costuri, desigur. Alegerea culorii este mai dificilă, mai ales cu mai multe categorii de puncte simultan. Imaginea tinde să arate mai puțin strălucitoare, deoarece nu utilizați un eșantion mare de vopsea pe o suprafață mare. În plus, atunci când desenați câteva milioane de puncte la orice fel de rezoluție, atunci dimensiunea fișierului dvs. crește foarte repede. Imaginea de mai sus este un PNG de 300 dpi 4.500×4.500 pixeli și are o dimensiune de 10 MB înainte de a fi zdrobită în continuare (cu optipng) la 8,6 MB sau cam asa ceva. Aș putea face un JPG desigur, care ar fi mult mai mic, dar apoi începi să te întrebi de ce ai făcut o hartă cu densitate de puncte în primul rând, pentru că pierzi detalii în raster. Între timp, datorită minunilor înmulțirii, o versiune de 600 dpi a aceleiași imagini este mult mai clară pentru a mări, dar are și o dimensiune de aproximativ 34 MB. Între timp, un PDF, ca format vectorial, este și mai mare, cântărind 60 MB. Redarea unui PDF cu atât de multe elemente vectoriale nu face Previzualizarea sau Illustratorul fericiți, permiteți-mi să vă spun. Avantajul, desigur, este că îl puteți mări la orice dimensiune doriți fără pierderi, așa cum se arată mai sus. Deoarece browserele sunt nebuni și la fel și javascriptul, este posibil să difuzez hărți cu densitate de puncte ca aceasta în timp real într-un mod care să le facă zoom și fluide, dar nu este departamentul meu.
