boxplot() in R: How to Make BoxTelek az RStudióban [Példák]
boxplot() az R-ben
boxplot() az R-ben segít az adatok kvartilis szerinti eloszlásának megjelenítésében és a kiugró értékek kimutatásában. Használhatja a geom_boxplot() geometriai objektumot a ggplot2 könyvtárból egy boxplot() rajzolásához R-ben.
A levegőminőségi adatkészletet használjuk a boxplot() bevezetésére az R-ben a ggplot-tal. Ez az adatkészlet New York levegőminőségét méri 1973 májusától szeptemberig. Az adatkészlet 154 megfigyelést tartalmaz. A következő változókat fogjuk használni:
- Ózon: numerikus változó
- Szél: Numerikus változó
- Hónap: májustól szeptemberig. Numerikus változó
Teremt Box Cselekmény
Mielőtt elkezdené az első boxplot() létrehozását R-ben, a következőképpen kell manipulálnia az adatokat:
- 1. lépés: Importálja az adatokat
- 2. lépés: Dobja el a szükségtelen változókat
- 3. lépés: A hónap átalakítása faktorszintre
- 4. lépés: Hozzon létre egy új kategorikus változót, amely három szinttel osztja fel a hónapot: kezdete, közepe és vége.
- 5. lépés: Távolítsa el a hiányzó megfigyeléseket
Mindezek a lépések a dplyr és a %>% pipeline operátor segítségével hajthatók végre.
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"))))
Jó gyakorlat az adatok szerkezetének ellenőrzése a glimpse() függvénnyel.
glimpse(data_air)
output:
## 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...
Vannak NA-k az adatkészletben. Eltávolításuk bölcs dolog.
# Step 5 data_air_nona <-data_air %>% na.omit()
Alapvető dobozrajz
Ábrázoljuk az alap R boxplot()-t az ózon havi eloszlásával.
# Store the graph box_plot <- ggplot(data_air_nona, aes(x = Month, y = Ozone)) # Add the geometric object box plot box_plot + geom_boxplot()
Kód Magyarázat
- Tárolja a grafikont további felhasználás céljából
- box_plot: A grafikont a box_plot változóban tárolja. Ez hasznos a további használathoz, vagy elkerülheti a túl bonyolult kódsorokat
- Adja hozzá az R boxplot() geometriai objektumát
- A data_air_nona adatkészletet átadja a ggplot boxplotnak.
- Az aes() argumentumon belül hozzáadja az x tengelyt és az y tengelyt.
- A + jel azt jelenti, hogy azt szeretné, hogy R továbbra is olvassa a kódot. Feltörésével olvashatóbbá teszi a kódot.
- A geom_boxplot() segítségével hozzon létre egy dobozdiagramot
output:
Változtassa meg a grafikon oldalát
Megfordíthatja a grafikon oldalát.
box_plot + geom_boxplot()+ coord_flip()
Kód Magyarázat
- box_plot: A tárolt grafikont használja. Ez elkerüli az összes kód újraírását minden alkalommal, amikor új információt ad a grafikonhoz.
- geom_boxplot(): Hozzon létre boxplots()-t az R-ben
- coord_flip(): A grafikon oldalának megfordítása
output:
Változtassa meg a kiugró színt
Módosíthatja a kiugró csíkok színét, alakját és méretét.
box_plot + geom_boxplot(outlier.colour = "red", outlier.shape = 2, outlier.size = 3) + theme_classic()
Kód Magyarázat
- outlier.colour=”red”: A kiugró értékek színének szabályozása
- outlier.shape=2: A kiugró alakzat módosítása. A 2 a háromszögre vonatkozik
- outlier.size=3: A háromszög méretének módosítása. A méret arányos a számmal.
output:
Összefoglaló statisztika hozzáadása
Hozzáadhat egy összefoglaló statisztikát az R boxplot()-hoz.
box_plot + geom_boxplot() + stat_summary(fun.y = mean, geom = "point", size = 3, color = "steelblue") + theme_classic()
Kód Magyarázat
- A stat_summary() lehetővé teszi egy összegzés hozzáadását az R vízszintes boxplothoz
- A fun.y argumentum szabályozza a visszaadott statisztikákat. Az aljasságot fogod használni
- Megjegyzés: Egyéb statisztikák is elérhetők, például min és max. Egynél több statisztika is megjeleníthető ugyanazon a grafikonon
- geom = „pont”: ábrázolja az átlagot egy ponttal
- size=3: A pont mérete
- szín =”acélkék”: A pontok színe
output:
Box Telek pontokkal
A következő vízszintes R boxplotban hozzáadja a pontrajzi rétegeket. Minden pont egy megfigyelést jelent.
box_plot + geom_boxplot() + geom_dotplot(binaxis = 'y', dotsize = 1, stackdir = 'center') + theme_classic()
Kód Magyarázat
- A geom_dotplot() lehetővé teszi a pontok hozzáadását a tároló szélességéhez
- binaxis='y': Módosítsa a pontok helyzetét az y tengely mentén. Alapértelmezés szerint x-tengely
- dotsize=1: A pontok mérete
- stackdir='center': A pontok halmozásának módja: Négy érték:
- „fel” (alapértelmezett),
- "le"
- "központ"
- "középpont"
output:
Ellenőrzés Esztétika a Box Cselekmény
Változtassa meg a doboz színét
Megváltoztathatja a csoport színeit.
ggplot(data_air_nona, aes(x = Month, y = Ozone, color = Month)) + geom_boxplot() + theme_classic()
Kód Magyarázat
- A csoportok színeit az aes() leképezés szabályozza. A color= Month használatával módosíthatja a doboz és a whisker plot színét a hónapok szerint
output:
Box telek több csoporttal
Lehetőség van több csoport hozzáadására is. Megjelenítheti a levegőminőség különbségét a mérés napja szerint.
ggplot(data_air_nona, aes(Month, Ozone)) + geom_boxplot(aes(fill = day_cat)) + theme_classic()
Kód Magyarázat
- A geometriai objektum aes() leképezése szabályozza a megjelenítendő csoportokat (ennek a változónak tényezőnek kell lennie)
- Az aes(fill= day_cat) lehetővé teszi három doboz létrehozását minden hónaphoz az x tengelyen
output:
Box Telek remegő pontokkal
A pont megjelenítésének másik módja a vibráló pontok. Ez egy kényelmes módja a pontok megjelenítésének boxplot segítségével az R változó kategorikus adataihoz.
Ezzel a módszerrel elkerülhető a diszkrét adatok átfedése.
box_plot + geom_boxplot() + geom_jitter(shape = 15, color = "steelblue", position = position_jitter(width = 0.21)) + theme_classic()
Kód Magyarázat
- A geom_jitter() minden ponthoz hozzáad egy kis csökkenést.
- shape=15 megváltoztatja a pontok alakját. A 15 a négyzeteket jelöli
- szín = „acélkék”: a pont színének módosítása
- pozíció=pozíció_jitter(szélesség = 0.21): Az átfedő pontok elhelyezésének módja. position_jitter(width = 0.21) azt jelenti, hogy a pontokat 20 százalékkal elmozdítja az x tengelytől. Alapértelmezés szerint 40 százalék.
output:
Látható a különbség az első grafikon között a jitter módszerrel és a második között a pont módszerrel.
box_plot + geom_boxplot() + geom_point(shape = 5, color = "steelblue") + theme_classic()
hornyolt Box Cselekmény
A geom_boxplot() érdekes tulajdonsága az R bevágásos boxplot függvénye. A bevágási diagram leszűkíti a mezőt a medián körül. A bemetszett dobozos diagram fő célja a medián jelentőségének összehasonlítása a csoportok között. Szilárd bizonyíték van arra, hogy két csoport eltérő mediánnal rendelkezik, amikor a bevágások nem fedik át egymást. A bevágás kiszámítása a következőképpen történik:
-val az interkvartilis és a megfigyelések száma.
box_plot + geom_boxplot(notch = TRUE) + theme_classic()
Kód Magyarázat
- geom_boxplot(notch=TRUE): Hozzon létre egy hornyolt vízszintes boxplot R-t
output:
Összegzésként
Az alábbi táblázatban összefoglalhatjuk az R vízszintes boxplot különböző típusait:
Objektív | Kód |
---|---|
Alapvető dobozrajz |
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() |
fordítsa meg az oldalát |
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + coord_flip() |
Vágott dobozos telek |
ggplot(df, aes( x = x1, y =y)) + geom_boxplot(notch=TRUE) |
Box cselekmény remegő pontokkal |
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + geom_jitter(position = position_jitter(0.21)) |
Ellenőrizze még:- R oktatóanyag kezdőknek: Ismerje meg az R programozási nyelvet