Ohjelmointi

Helpompi ggplot ggeasy R -paketin kanssa

Ggplot2-tietojen visualisointipaketti R on erittäin tehokas ja joustava. Ei ole kuitenkaan aina helppoa muistaa, miten jokainen tehtävä suoritetaan - varsinkin jos et ole usein käyttäjä. Kuinka muutat kaavion otsikon kokoa? Kuinka poistat legendanimikkeet? Tavallinen ratkaisuni on tallentaa RStudio-koodinpätkät asioille, joiden muistaa on vaikeuksia. Mutta on myös paketti, joka voi auttaa: ggeasy.

Kuten nimessä sanotaan, ggeasyn tavoitteena on tehdä ggplot2: sta helppo tai ainakin helppoer. Jotkut ihmiset saattavat löytää intuitiivisempia toimintoja tyypillisiin tehtäviin, lähinnä tekstin ja akselin muotoilun ympärillä. (Tämä paketti ei vaikuta tapaan viivat, pisteet ja palkit näyttää ja käyttäytyä). Kaikki ggeasy-toiminnot alkavat helppo_ Joten on, kyllä, helppo löytää ne RStudio-automaattisen täydennyksen avulla. Näet miten se toimii yllä olevasta videosta.

Jos haluat seurata alla olevaa esimerkkiäni, ggeasy on CRANissa, joten voit asentaa sen install.packages ("ggeasy"). Aion käyttää myös ggplot2 (luonnollisesti), dplyr, rio ja voitele paketteja. Myöhemmin lisätään patchwork-paketin useiden kuvaajien erittäin yksinkertaiseen sijoittamiseen; se on myös CRAN-laitteessa.

Tässä esimerkissä aion käyttää tietoja siitä, mikä useimpien ihmisten mielissä on nykyään: koronavirus. Voit ladata CSV-tiedoston, joka sisältää tietoja Yhdysvaltojen osavaltioista, Coronavirus Tracking Projectista

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

destfile = "covid19.csv")

(Voit nimetä destfile kohdetiedosto mitä haluat.) Käytin rio :: tuonti () tuoda tiedot, mutta voit käyttää myös readr :: read_csv (), read.csv (), data.table :: fread ()tai mikä tahansa muu toiminto CSV: n tuomiseksi.

Rion kanssa päivämäärät tulivat kokonaislukuina, joten käytän voiteluaineita ymd () toiminto muuttaa sarake päivämääräobjekteiksi:

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

Luodakseni kaavion, jota ei ole liian vaikea ymmärtää, suodatan nämä tiedot vain muutamalle tilalle, joten erillisiä aikasarjoja ei ole 50. Valitsin Louisianan nähdäkseni tapausten määrän nousun siellä - Louisianan kuvernöörin mukaan osavaltion kasvu on nopeinta maailmassa. (Spekuloidaan, että helmikuun Mardi Gras on saattanut aiheuttaa klusterin New Orleansissa.) Lisään myös Massachusettsin osavaltion, jossa on noin 50 prosenttia enemmän ihmisiä kuin Louisianassa, koska olen siellä.

Suodatettuani tiedot, luon perusviivakaavion tiedoista:

tilat2 <- suodatin (data, tila% prosentteina c ("LA", "MA"))

ggplot (tilat2, aes (x = päivämäärä, y = positiivinen, väri = tila)) +

geom_line () +

geom_point () +

teema_minimaali () +

ggtitle ("Lousiana & Massachusetts Daily Covid-19 -tapaukset")

Sharon Machlis,

Se on melko jyrkkä nousu. Osa tästä voi johtua testauksen lisääntymisestä - ehkä me vain tietää noin useammasta tapauksesta, koska testaus lisääntyi. Katson sitä hetken kuluttua.

Ensinnäkin, entä muutama muutos tähän kaavioon?

Aloitetaan tekemällä kaavion otsikko suuremmaksi. Jos haluat käyttää ggeasyä, aloin kirjoittaa helppo_ RStudion vasemmassa yläkulmassa olevasta lähdekentästä ja selaa, kunnes löydän haluamasi.

Sharon Machlis,

easy_plot_title_size () näyttää toiminnolta, jota tarvitsen. Voin muuttaa kaavion otsikon 16-pisteiseksi tällä koodilla:

ggplot (tilat2, aes (x = päivämäärä, y = positiivinen, väri = tila)) +

geom_line () +

geom_point () +

teema_minimaali () +

ggtitle ("Lousiana & Massachusetts Daily Covid-19 Cases") +

helppo_tontti_nimi_koko (16)

Voin kiertää x-akselin tekstiä helppo_rotate_x_labels (90) 90 asteen kierrosta varten ja poista legendan otsikko (on melko ilmeistä, että nämä ovat tiloja) easy_remove_legend_title (). Kaavion koko koodi on alla, mukaan lukien kaavion tallentaminen muuttujaan nimeltä positiivisia.

positiiviset <- ggplot (tilat2, aes (x = päivämäärä, y = positiivinen, väri = tila)) +

geom_line () +

geom_point () +

teema_minimaali () +

ggtitle ("Lousiana & Massachusetts Daily Covid-19 Cases") +

easy_plot_title_size (16) +

easy_rotate_x_labels (90) +

easy_remove_legend_title ()

Sharon Machlis,

Seuraavaksi haluaisin tarkastella negatiivinen koronavirustestitulokset, jotta voidaan nähdä, nousevatko ne samalla nopeudella kuin positiiviset. Käytän samaa koodia, mutta vaihdan y-sarakkeen negatiivisiksi.

negatiiviset <- ggplot (tilat2, aes (x = päivämäärä, y = negatiivinen, väri = tila)) +

geom_line () +

geom_point () +

teema_minimaali () +

ggtitle ("Lousiana & Massachusetts Negatives") +

easy_plot_title_size (16) +

easy_rotate_x_labels (90) +

easy_remove_x_axis ("title") +

easy_remove_y_axis ("title") +

easy_remove_legend_title ()

Sharon Machlis,

Louisianassa näyttää olevan enemmän positiivisia kuin negatiivisia. Vaikka emme tiedä, johtuuko tämä siitä, että testauskriteerit muuttuvat vai jotain muuta.

Olisi hyödyllistä nähdä nämä kaksi kuvaajaa vierekkäin. Siellä tulee tilkkutäkki.

Pelkästään näiden kahden koodirivin avulla ensimmäinen ladataan patchwork-paketti:

kirjasto ("tilkkutäkki")

positiiviset + negatiiviset

Saan tämän:

Sharon Machlis,

On uskomattoman helppoa sijoittaa useita kaavioita tilkkutäkillä. Lisätietoja asettelujen mukauttamisesta on patchwork-verkkosivustolla.

Voin nyt palata takaisin ja poistaa ggeasyn avulla yhden legendoista, jotta niitä ei ole kahta, ja suorittaa sitten korjaustiedosto uudelleen:

negatiiviset <- negatiiviset +

easy_remove_legend ()

positiiviset + negatiiviset

On selvää, että ggeasy on varsin hyödyllinen nopeaan ja helppoon tietojen etsintään!

Saat lisää R-vinkkejä siirtymällä Tee enemmän R: llä -sivulle tai tutustumalla YouTube-soittolistaan ​​Tee enemmän R: llä.

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