Balíček R vizualizace dat ggplot2 je extrémně výkonný a flexibilní. Není však vždy snadné si pamatovat, jak dělat každý úkol - zejména pokud nejste častým uživatelem. Jak změníte velikost názvu grafu? Jak odstraníte tituly legend? Mým obvyklým řešením je ukládat fragmenty kódu RStudio pro věci, které si nepamatuji. Existuje ale také balíček, který vám může pomoci: ggeasy.
Jak název napovídá, cílem ggeasy je usnadnit ggplot2 - nebo alespoň EASIehm. Má to, co někteří lidé mohou považovat za intuitivnější funkce pro typické úkoly, většinou kolem formátování textu a os. (Tento balíček nemá vliv na způsob čáry, body a pruhy vypadat a chovat se). Všechny funkce ggeasy začínají snadný_
takže je snadné je najít pomocí automatického doplňování RStudio. Jak to funguje, uvidíte ve videu výše.
Pokud byste chtěli následovat můj příklad níže, ggeasy je na CRAN, takže si jej můžete nainstalovat pomocí install.packages ("ggeasy")
. Budu také používat balíčky ggplot2 (přirozeně), dplyr, rio a lubridate. Později přidám patchworkový balíček pro super jednoduché umístění více grafů; to je také na CRAN.
V tomto příkladu použiji data o tom, co dnes myslí většina lidí: koronavirus. Můžete si stáhnout soubor CSV s daty podle amerického státu z projektu Coronavirus Tracking Project s
download.file ("// covidtracking.com/api/states/daily.csv",destfile = "covid19.csv")
(Můžete pojmenovat destilát cílový soubor, co chcete.) Použil jsem rio :: import ()
importovat data, ale můžete také použít readr :: read_csv ()
, read.csv ()
, data.table :: fread ()
nebo jakoukoli jinou funkci pro import souboru CSV.
S rio přišla data jako celá čísla, takže použiji lubridate's ymd ()
funkce, která změní tento sloupec na objekty Date:
data $ date <- lubridate :: ymd (data $ date)
Abych vytvořil graf, který není příliš obtížné pochopit, odfiltruji tato data pouze pro několik stavů, takže neexistuje 50 samostatných řádků časových řad. Vybral jsem si Louisianu, abych viděl nárůst případů - guvernér Louisiany uvedl, že stát patří mezi nejrychlejší růst případů na světě. (Existují spekulace, že v únoru mohla Mardi Gras způsobit shluk v New Orleans.) Přidám také Massachusetts, stát s přibližně o 50 procent více lidí než Louisiana, protože tam sídlím.
Po filtrování dat vytvořím základní spojnicový graf dat:
state2 <- filtr (data, stav% v% c ("LA", "MA"))Sharon Machlis,ggplot (stavy2, aes (x = datum, y = pozitivní, barva = stav)) +
geom_line () +
geom_point () +
téma_minimální () +
ggtitle („Lousiana & Massachusetts Daily Covid-19 Cases“)
To je docela prudký nárůst. Něco z toho může být způsobeno nárůstem testování - možná jen znát o více případech, protože testování zrychlilo. Podívám se na to za minutu.
Nejprve však, co třeba pár vylepšení tohoto grafu?
Začněme zvětšením názvu grafu. Abych použil ggeasy, začal bych psát snadný_
v levém horním zdrojovém panelu RStudio a posouvejte, dokud nenajdu, co chci.
easy_plot_title_size ()
vypadá jako funkce, kterou potřebuji. Pomocí tohoto kódu mohu změnit název grafu na 16bodový typ:
ggplot (stavy2, aes (x = datum, y = pozitivní, barva = stav)) +geom_line () +
geom_point () +
téma_minimální () +
ggtitle („Lousiana & Massachusetts Daily Covid-19 Cases“) +
easy_plot_title_size (16)
Dokážu otočit text v ose x pomocí easy_rotate_x_labels (90)
pro rotaci o 90 stupňů a odstraňte název legendy (je docela zřejmé, že jde o stavy) pomocí easy_remove_legend_title ()
. Celý kód grafu je níže, včetně uložení grafu do proměnné s názvem pozitiva
.
pozitiva <- ggplot (stavy2, aes (x = datum, y = pozitivní, barva = stav)) +Sharon Machlis,geom_line () +
geom_point () +
téma_minimální () +
ggtitle („Lousiana & Massachusetts Daily Covid-19 Cases“) +
easy_plot_title_size (16) +
easy_rotate_x_labels (90) +
easy_remove_legend_title ()
Dále bych se rád podíval na záporný výsledky testů na koronaviry, aby se zjistilo, zda rostou podobnou rychlostí jako pozitivní. Použiji stejný kód, ale přepnu sloupec y na negativy.
negativy <- ggplot (stavy2, aes (x = datum, y = záporný, color = state)) +Sharon Machlis,geom_line () +
geom_point () +
téma_minimální () +
ggtitle ("Lousiana & Massachusetts Negatives") +
easy_plot_title_size (16) +
easy_rotate_x_labels (90) +
easy_remove_x_axis ("název") +
easy_remove_y_axis ("název") +
easy_remove_legend_title ()
Zdá se, že v Louisianě dochází k většímu nárůstu pozitiv než negativ. Ačkoli nevíme, jestli je to proto, že se změnila testovací kritéria nebo něco jiného.
Bylo by užitečné vidět tyto dva grafy vedle sebe. Tam přichází balíček patchwork.
Pouze s těmito dvěma řádky kódu první načtení balíčku patchwork:
knihovna („patchwork“)pozitiva + negativa
Mám toto:
Sharon Machlis,Je neuvěřitelně snadné umístit více grafů pomocí patchwork. Další informace o přizpůsobení rozvržení najdete na webu patchwork.
Nyní se mohu vrátit a pomocí ggeasy odstranit jednu z legend, takže nejsou dvě, a poté znovu spustit patchwork:
negativy <- negativy +easy_remove_legend ()
pozitiva + negativa
Je zřejmé, že ggeasy je docela užitečný pro rychlý a snadný průzkum dat!
Další tipy R najdete na stránce „Do More With R“ na stránce YouTube nebo v seznamu „Do More With R“.