Programovanie

Ľahší ggplot s balíkom ggeasy R.

Balík R vizualizácie dát ggplot2 je mimoriadne výkonný a flexibilný. Nie je však vždy ľahké si spomenúť, ako robiť každú úlohu, najmä ak nie ste častým používateľom. Ako zmeníte veľkosť názvu grafu? Ako odstránite tituly legendy? Moje obvyklé riešenie je ukladať útržky kódu RStudio pre veci, ktoré si pamätám ťažko. Ale môže pomôcť aj balíček: ggeasy.

Ako hovorí názov, cieľom ggeasy je, no, uľahčiť ggplot2 - alebo aspoň EASIehm. Niektorým ľuďom sa môžu zdať intuitívnejšie funkcie pre typické úlohy, väčšinou okolo formátovania textu a osí. (Tento balík nemá vplyv na spôsob čiary, body a pruhy vyzerať a správať sa). Všetky funkcie ggeasy začínajú na ľahké_ takže je ľahké ich nájsť pomocou automatického dopĺňania RStudio. Ako to funguje, si môžete pozrieť vo videu vyššie.

Ak by ste chceli nasledovať môj príklad uvedený nižšie, ggeasy je na CRANe, takže si ho môžete nainštalovať pomocou install.packages ("ggeasy"). Budem tiež používať balíčky ggplot2 (prirodzene), dplyr, rio a lubridate. Neskôr pridám patchworkový balíček pre super jednoduché umiestnenie viacerých grafov; to je tiež na CRAN.

V tomto príklade použijem údaje o tom, čo v dnešnej dobe myslí väčšina ľudí: koronavírus. Môžete si stiahnuť súbor CSV s údajmi podľa amerického štátu z projektu sledovania koronavírusov pomocou

download.file ("// covidtracking.com/api/states/daily.csv",

destfile = "covid19.csv")

(Môžete pomenovať destilát cieľový súbor, čokoľvek by ste chceli.) Použil som rio :: import () na import údajov, ale môžete tiež použiť readr :: read_csv (), read.csv (), data.table :: fread ()alebo inú funkciu na import súboru CSV.

Pri rio prišli dátumy ako celé čísla, takže použijem lubridate ymd () funkcia na premenu tohto stĺpca na objekty Date:

data $ date <- lubridate :: ymd (data $ date)

Ak chcete vytvoriť graf, ktorý nie je príliš ťažké pochopiť, vyfiltrujem tieto údaje iba pre niekoľko štátov, aby neexistovalo 50 samostatných riadkov časových radov. Vybral som si Louisianu, aby som videl nárast prípadov - guvernér Louisiany uviedol, že štát patrí medzi najrýchlejší rast prípadov na svete. (Existujú špekulácie, že februárový Mardi Gras mohol spôsobiť zoskupenie v New Orleans.) Pridám tiež Massachusetts, štát s asi o 50 percent viac ľuďmi ako Louisiana, keďže tam sídlim.

Po filtrovaní údajov vytvorím základný spojnicový graf údajov:

state2 <- filter (údaje, stav% v% c ("LA", "MA"))

ggplot (stavy2, aes (x = dátum, y = kladný, farba = stav)) +

geom_line () +

geom_point () +

téma_minimálne () +

ggtitle („Prípady Loviana a Massachusetts Daily Covid-19“)

Sharon Machlis,

To je dosť prudký nárast. Niektoré z toho môžu byť dôsledkom nárastu testovania - možno len my vedieť o ďalších prípadoch, pretože sa testovanie zvýšilo. Pozriem sa na to za minútu.

Najprv však, čo tak urobiť niekoľko vylepšení tohto grafu?

Začnime zväčšením názvu grafu. Aby som použil ggeasy, začal by som písať ľahké_ v ľavom hornom zdrojovom paneli RStudio a posúvajte sa, kým nenájdem to, čo chcem.

Sharon Machlis,

easy_plot_title_size () vyzerá ako funkcia, ktorú potrebujem. Pomocou tohto kódu môžem zmeniť názov grafu na 16-bodový:

ggplot (state2, aes (x = dátum, y = kladný, farba = stav)) +

geom_line () +

geom_point () +

téma_minimálne () +

ggtitle („Prípady Loviana a Massachusetts Daily Covid-19“) +

easy_plot_title_size (16)

Dokážem otočiť text na osi x pomocou easy_rotate_x_labels (90) pre 90-stupňovú rotáciu a odstráňte názov legendy (je zrejmé, že ide o štáty) pomocou easy_remove_legend_title (). Celý kód grafu je uvedený nižšie, vrátane uloženia grafu do premennej s názvom pozitíva.

pozitíva <- ggplot (stavy2, aes (x = dátum, y = pozitívny, farba = stav)) +

geom_line () +

geom_point () +

téma_minimálne () +

ggtitle („Prípady Loviana a Massachusetts Daily Covid-19“) +

easy_plot_title_size (16) +

easy_rotate_x_labels (90) +

easy_remove_legend_title ()

Sharon Machlis,

Ďalej by som sa chcel pozrieť na negatívny výsledky testov na koronavírusy, aby sa zistilo, či stúpajú podobnou rýchlosťou ako pozitíva. Použijem rovnaký kód, ale iba prepnem stĺpec y na negatívy.

negatívy <- ggplot (stavy2, aes (x = dátum, y = negatívny, farba = stav)) +

geom_line () +

geom_point () +

téma_minimálne () +

ggtitle ("Negatíva Lousiana a Massachusetts") +

easy_plot_title_size (16) +

easy_rotate_x_labels (90) +

easy_remove_x_axis ("názov") +

easy_remove_y_axis ("názov") +

easy_remove_legend_title ()

Sharon Machlis,

Zdá sa, že v Louisiane dochádza k väčšiemu nárastu pozitív ako negatív. Aj keď nevieme, či je to tým, že sa zmenili testovacie kritériá alebo niečo iné.

Bolo by užitočné vidieť tieto dva grafy vedľa seba. Tu prichádza na rad balíček patchwork.

Iba s týmito dvoma riadkami kódu, prvým načítaním balíka patchwork:

knižnica („patchwork“)

pozitíva + negatíva

Mám toto:

Sharon Machlis,

Umiestnenie viacerých grafov pomocou patchworku je neuveriteľne ľahké. Viac informácií o tom, ako prispôsobiť rozloženia, nájdete na webovej stránke patchwork.

Teraz sa môžem vrátiť späť a pomocou ggeasy odstrániť jednu z legiend, aby neboli dve, a potom znova spustiť patchwork:

negatíva <- negatíva +

easy_remove_legend ()

pozitíva + negatíva

Je zrejmé, že program ggeasy je celkom užitočný na rýchle a ľahké preskúmanie údajov!

Ďalšie tipy R nájdete na stránke „Do More With R“ na stránke YouTube alebo v zozname videí „Do More With R“.

$config[zx-auto] not found$config[zx-overlay] not found