ggplot(gapminder_2018, aes(x = gdpPerCap, y = lifeExp, colour = continent)) +
geom_point()
ggplot(gapminder_2018, aes(x = gdpPerCap, y = lifeExp)) +
geom_point() +
facet_grid(.~continent)
Fațetare (facets)
Procesul de fațetare (facets) presupune divizarea unei figuri în subfiguri determinate de valorile unei variabile categoriale sau a mai multor variabile categoriale. Astfel, în cazul în care vorbim de o singură variabilă, pentru fiecare categorie a variabilei este trasat un subgrafic. Pachetul ggplot2
pune la dispoziție două funcții utile pentru a efectua această operație:
facet_wrap()
- folosită atunci când avem de-a face cu o singură variabilă de grupare a datelorfacet_grid()
- folosită atunci când dorim secționarea datelor după două sau mai multe variabile
Spre exemplu, setul de date gapminder_2018
conține informații referitoare la produsul intern brut ajustat (gdpPerCap
) și speranța medie de viață (lifeExp
) pentru mai mult de 180 de țări de pe patru continente (continents
). Dacă dorim să vedem relația dintre cele două variabile în funcție de continent atunci una dintre variante ar fi să folosi estetica colour
pentru a diferenția. O variantă alternativă, care uneori ilustrează mai clar diferențele, este de a subsecționa graficul în subgrafice ce corespund fiecărui continent folosind funcția facet_grid()
.
În Figura 1 de mai sus am folosit facet_grid
pentru a separa în subgrafice chiar dacă separarea s-a făcut în funcție de o singură variabilă (continent). Observăm că în apelarea funcției facet_grid
(?facet_grid
) am folosit simbolul ~
care separă variabila/variabilele din stânga (trasată/trasate de-a lungul liniilor) de cea/cele din dreapta (trasată/trasate pe coloane). Codul generic pentru funcția facet_grid
este
facet_grid([factor pentru linii] ~ [factor pentru coloane])
Pentru ilustrare să considerăm că ne dorim să investigăm relația dintre gdpPerCap
și lifeExp
în funcție de regiunea și nivelul de venit stabilite de Banca Mondială (variabilele wb_region
și respectiv wb_income
).
Funcția facet_wrap()
este folosită cu precădere atunci când dorim secționarea datelor după o singură variabilă calitativă (dar poate fi folosită și cu mai multe - ?facet_wrap
). Prin aplicarea acestei funcții, subgraficele corespunzătoare fiecărui nivel al variabilei de separare nu trebuie să fie repartizate pe o singură linie sau coloană în schimb se poate specifica numărul de coloane (sau de linii) dorite. Codul generic pentru funcția facet_wrap
este
facet_wrap( ~ [variabila de fatetare],
ncol = [numar de coloane])
Vom ilustra aplicarea acestei funcții în contextul setului de date gapminder_all
. Vom afișa cum a evoluat evoluția duratei medii de viață pentru patru țări (Statele Unite, UK, Franța și România) după Cel de-al Doilea Război Mondial:
În Figura 4 de mai jos ilustrăm evoluția produsului intern brut pentru statele din Asia de Est după anul 1950. Opțiunea ncol
descrie numărul de coloane în care vrem să fie împărțit grid-ul de subgrafice iar opțiunea scales = "free_y"
permite ajustarea scalei pentru axa y pentru fiecare categorie (țară) în parte.