boxplot() in R: How to Make BoxTontit RStudiossa [esimerkkejä]

boxplot() kirjassa R

boxplot() kirjassa R auttaa visualisoimaan datan jakautumisen kvartiileittain ja havaitsemaan poikkeamien esiintymisen. Voit käyttää geometristä objektia geom_boxplot() ggplot2-kirjastosta boxplot():n piirtämiseen R:ssä.

Käytämme ilmanlaatutietojoukkoa boxplot():n käyttöönottamiseksi R:ssä ggplotin kanssa. Tämä aineisto mittaa New Yorkin ilmanlaatua toukokuusta syyskuuhun 1973. Aineisto sisältää 154 havaintoa. Käytämme seuraavia muuttujia:

  • Otsoni: Numeerinen muuttuja
  • Tuuli: Numeerinen muuttuja
  • Kuukausi: toukokuusta syyskuuhun. Numeerinen muuttuja

luoda Box juoni

Ennen kuin aloitat ensimmäisen boxplot():n luomisen R:ssä, sinun on käsiteltävä tietoja seuraavasti:

  • Vaihe 1: Tuo tiedot
  • Vaihe 2: Pudota tarpeettomat muuttujat
  • Vaihe 3: Muunna kuukausi tekijätasolla
  • Vaihe 4: Luo uusi kategorinen muuttuja, joka jakaa kuukauden kolmella tasolla: alku, keskikohta ja loppu.
  • Vaihe 5: Poista puuttuvat havainnot

Kaikki nämä vaiheet tehdään dplyr:llä ja putkioperaattorilla %>%.

library(dplyr)
library(ggplot2)
# Step 1
data_air <- airquality % > %

#Step 2
select(-c(Solar.R, Temp)) % > %

#Step 3
mutate(Month = factor(Month, order = TRUE, labels = c("May", "June", "July", "August", "September")), 
       
#Step 4 
day_cat = factor(ifelse(Day < 10, "Begin", ifelse(Day < 20, "Middle", "End"))))

Hyvä käytäntö on tarkistaa datan rakenne funktiolla glimpse().

glimpse(data_air)

lähtö:

## Observations: 153
## Variables: 5
## $ Ozone   <int> 41, 36, 12, 18, NA, 28, 23, 19, 8, NA, 7, 16, 11, 14, ...
## $ Wind    <dbl> 7.4, 8.0, 12.6, 11.5, 14.3, 14.9, 8.6, 13.8, 20.1, 8.6...
## $ Month   <ord> May, May, May, May, May, May, May, May, May, May, May,...
## $ Day     <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,...
## $ day_cat <fctr> Begin, Begin, Begin, Begin, Begin, Begin, Begin, Begi...

Tietojoukossa on NA:ita. Niiden poistaminen on viisasta.

# Step 5
data_air_nona <-data_air %>% na.omit()	

Peruslaatikon juoni

Piirretään perus-R boxplot() otsonin kuukausijakauman kanssa.

# Store the graph
box_plot <- ggplot(data_air_nona, aes(x = Month, y = Ozone))
# Add the geometric object box plot
box_plot +
    geom_boxplot()

Koodin selitys

  • Säilytä kaavio myöhempää käyttöä varten
    • box_plot: Tallennat kaavion muuttujaan box_plot Se on hyödyllinen jatkokäytössä tai välttää liian monimutkaisia ​​koodiriviä
  • Lisää geometrinen objekti R boxplot()
    • Välität datajoukon data_air_nona ggplot boxplotille.
    • Aes()-argumentin sisään lisäät x-akselin ja y-akselin.
    • +-merkki tarkoittaa, että haluat R:n jatkavan koodin lukemista. Se tekee koodista luettavamman rikkomalla sen.
    • Käytä geom_boxplot() luodaksesi laatikkokaavion

lähtö:

Perus Box juoni

Vaihda kaavion puolta

Voit kääntää kaavion sivun.

box_plot +
  geom_boxplot()+
  coord_flip()

Koodin selitys

  • box_plot: Käytät tallentamaasi kuvaajaa. Se välttää kaikkien koodien kirjoittamisen uudelleen joka kerta, kun lisäät kaavioon uutta tietoa.
  • geom_boxplot(): Luo boxplots() R:ssä
  • coord_flip(): Käännä kaavion sivu

lähtö:

Vaihda kaavion puolta

Muuta poikkeavan värin väriä

Voit muuttaa poikkeamien väriä, muotoa ja kokoa.

box_plot +
    geom_boxplot(outlier.colour = "red",
        outlier.shape = 2,
        outlier.size = 3) +
    theme_classic()

Koodin selitys

  • outlier.colour=”punainen”: Hallitse poikkeavien arvojen väriä
  • outlier.shape=2: Muuta poikkeaman muotoa. 2 viittaa kolmioon
  • outlier.size=3: Muuta kolmion kokoa. Koko on verrannollinen numeroon.

lähtö:

Muuta Outlier-väriä

Lisää yhteenvetotilasto

Voit lisätä yhteenvetotilaston R boxplot() -funktioon.

box_plot +
    geom_boxplot() +
    stat_summary(fun.y = mean,
        geom = "point",
        size = 3,
        color = "steelblue") +
    theme_classic()

Koodin selitys

  • stat_summary() mahdollistaa yhteenvedon lisäämisen vaakasuuntaiseen laatikkokuvaajaan R
  • Argumentti fun.y ohjaa palautettuja tilastoja. Käytät ilkeää
  • Huomautus: Muita tilastoja on saatavilla, kuten min ja max. Useampi kuin yksi tilasto voidaan näyttää samassa kaaviossa
  • geom = "piste": Piirrä keskiarvo pisteellä
  • koko=3: Pisteen koko
  • väri =”teräksensininen”: Pisteiden väri

lähtö:

Lisää yhteenvetotilasto

Box Tontti pisteillä

Seuraavaan vaakasuoraan laatikkokuvaajaan R lisäät pistekuvaajatasot. Jokainen piste edustaa havaintoa.

box_plot +
    geom_boxplot() +
    geom_dotplot(binaxis = 'y',
        dotsize = 1,
        stackdir = 'center') +
    theme_classic()

Koodin selitys

  • geom_dotplot() mahdollistaa pisteen lisäämisen laatikon leveyteen
  • binaxis='y': Muuta pisteiden sijaintia y-akselilla. Oletuksena x-akseli
  • dotsize=1: Pisteiden koko
  • stackdir='center': Tapa pinota pisteet: Neljä arvoa:
    • "ylös" (oletus),
    • "alas"
    • "keskusta"
    • "keskikoko"

lähtö:

Box Tontti pisteillä

Ohjaus Esteettinen Box juoni

Vaihda laatikon väriä

Voit vaihtaa ryhmän värejä.

ggplot(data_air_nona, aes(x = Month, y = Ozone, color = Month)) +
    geom_boxplot() +
    theme_classic()

Koodin selitys

  • Ryhmien värejä ohjataan aes()-kartoituksessa. Voit muuttaa laatikon ja viiksikuvaajan väriä kuukausien mukaan käyttämällä väri=kuukausi

lähtö:

Muuta väriä Box

Box juoni useiden ryhmien kanssa

On myös mahdollista lisätä useita ryhmiä. Voit visualisoida ilmanlaadun eron mittauspäivän mukaan.

ggplot(data_air_nona, aes(Month, Ozone)) +
    geom_boxplot(aes(fill = day_cat)) +
    theme_classic()

Koodin selitys

  • Geometrisen objektin aes()-kartoitus ohjaa näytettävät ryhmät (tämän muuttujan on oltava tekijä)
  • aes(fill= day_cat) mahdollistaa kolmen laatikon luomisen jokaiselle kuukaudelle x-akselille

lähtö:

Box Juoni useilla ryhmillä

Box Juoni tärisevine pisteineen

Toinen tapa näyttää piste on värinäpisteet. Se on kätevä tapa visualisoida pisteitä boxplotilla kategorisille tiedoille R-muuttujassa.

Tällä menetelmällä vältetään erillisten tietojen päällekkäisyys.

box_plot +
    geom_boxplot() +
    geom_jitter(shape = 15,
        color = "steelblue",
        position = position_jitter(width = 0.21)) +
    theme_classic()

Koodin selitys

  • geom_jitter() lisää pienen vaimenemisen jokaiseen pisteeseen.
  • shape=15 muuttaa pisteiden muotoa. 15 edustaa neliöitä
  • väri = "teräksensininen": Muuta pisteen väriä
  • position=position_jitter(width = 0.21): Tapa sijoittaa päällekkäiset pisteet. position_jitter(width = 0.21) tarkoittaa, että siirrät pisteitä 20 prosenttia x-akselista. Oletuksena 40 prosenttia.

lähtö:

Box Juoni tärisevine pisteineen

Näet eron ensimmäisen kaavion välillä jitter-menetelmällä ja toisen pistemenetelmällä.

box_plot +
    geom_boxplot() +
    geom_point(shape = 5,
        color = "steelblue") +
    theme_classic()

Box Juoni tärisevine pisteineen

lovinen Box juoni

Geom_boxplot():n mielenkiintoinen ominaisuus on lovettu boxplot-funktio R:ssä. Lovikaavio kaventaa ruutua mediaanin ympärillä. Lovilaatikkokaavion päätarkoituksena on verrata mediaanin merkitystä ryhmien välillä. On vahvaa näyttöä siitä, että kahdella ryhmällä on eri mediaanit, kun lovet eivät mene päällekkäin. Lovi lasketaan seuraavasti:

lovinen Box juoni

kanssa on interkvartiili ja havaintojen lukumäärä.

box_plot +
    geom_boxplot(notch = TRUE) +
    theme_classic()

Koodin selitys

  • geom_boxplot(notch=TRUE): Luo lovettu vaakasuora boxplot R

lähtö:

lovinen Box juoni

Yhteenveto

Voimme tehdä yhteenvedon erityyppisistä vaakasuuntaisista boxplotista R alla olevasta taulukosta:

Tavoite Koodi
Peruslaatikon juoni
ggplot(df, aes( x = x1, y =y)) + geom_boxplot()
käännä sivu
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + coord_flip()
Lovitettu laatikko juoni
ggplot(df, aes( x = x1, y =y)) + geom_boxplot(notch=TRUE)
Box juoni tärisevin pistein
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + geom_jitter(position = position_jitter(0.21))

Tarkista myös: - R-opastus aloittelijoille: Opi R-ohjelmointikieli