boxplot() in R: Wie man BoxDiagramme in RStudio [Beispiele]

boxplot() in R

boxplot() in R hilft, die Verteilung der Daten nach Quartil zu visualisieren und das Vorhandensein von AusreiรŸern zu erkennen. Sie kรถnnen das geometrische Objekt geom_boxplot() aus der ggplot2-Bibliothek verwenden, um ein Boxplot() in R zu zeichnen.

Wir werden den Luftqualitรคtsdatensatz verwenden, um boxplot() in R mit ggplot einzufรผhren. Dieser Datensatz misst die Luftqualitรคt von New York von Mai bis September 1973. Der Datensatz enthรคlt 154 Beobachtungen. Wir werden die folgenden Variablen verwenden:

  • Ozon: Numerische Variable
  • Wind: Numerische Variable
  • Monat: Mai bis September. Numerische Variable

Erschaffung Box Grundflรคche

Bevor Sie mit der Erstellung Ihres ersten Boxplots() in R beginnen, mรผssen Sie die Daten wie folgt bearbeiten:

  • Schritt 1: Importieren Sie die Daten
  • Schritt 2: Lรถschen Sie unnรถtige Variablen
  • Schritt 3: Monat in Faktorebene umrechnen
  • Schritt 4: Erstellen Sie eine neue kategoriale Variable, die den Monat in drei Ebenen unterteilt: Anfang, Mitte und Ende.
  • Schritt 5: Fehlende Beobachtungen entfernen

Alle diese Schritte werden mit dplyr und dem Pipeline-Operator %>% ausgefรผhrt.

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"))))

Eine gute Vorgehensweise besteht darin, die Struktur der Daten mit der Funktion glimpse() zu รผberprรผfen.

glimpse(data_air)

Ausgang:

## 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...

Der Datensatz enthรคlt NAs. Es ist ratsam, diese zu entfernen.

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

Einfaches Boxplot

Lassen Sie uns das grundlegende R-Boxplot() mit der Ozonverteilung nach Monaten zeichnen.

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

Code Erklรคrung

  • Speichern Sie das Diagramm zur weiteren Verwendung
    • box_plot: Sie speichern den Graphen in der Variable box_plot. Dies ist hilfreich fรผr die weitere Verwendung oder um zu komplexe Codezeilen zu vermeiden.
  • Fรผgen Sie das geometrische Objekt von R boxplot() hinzu
    • Sie รผbergeben den Datensatz data_air_nona an ggplot boxplot.
    • Innerhalb des aes()-Arguments fรผgen Sie die x-Achse und die y-Achse hinzu.
    • Das +-Zeichen bedeutet, dass R den Code weiterlesen soll. Es unterbricht den Code und macht ihn dadurch lesbarer.
    • Verwenden Sie geom_boxplot(), um ein Boxplot zu erstellen

Ausgang:

Grundlagen Box Grundflรคche

Seite des Diagramms wechseln

Sie kรถnnen die Seite des Diagramms umdrehen.

box_plot +
  geom_boxplot()+
  coord_flip()

Code Erklรคrung

  • box_plot: Sie verwenden das von Ihnen gespeicherte Diagramm. So mรผssen Sie nicht jedes Mal alle Codes neu schreiben, wenn Sie dem Diagramm neue Informationen hinzufรผgen.
  • geom_boxplot(): Erstellen Sie Boxplots() in R
  • coord_flip(): Die Seite des Diagramms umdrehen

Ausgang:

Seite des Diagramms wechseln

Farbe des AusreiรŸers รคndern

Sie kรถnnen die Farbe, Form und GrรถรŸe der AusreiรŸer รคndern.

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

Code Erklรคrung

  • outlier.colour=โ€œredโ€œ: Steuern Sie die Farbe der AusreiรŸer
  • outlier.shape=2: ร„ndert die Form des AusreiรŸers. 2 bezieht sich auf Dreieck
  • outlier.size=3: ร„ndern Sie die GrรถรŸe des Dreiecks. Die GrรถรŸe ist proportional zur Anzahl.

Ausgang:

Farbe des AusreiรŸers รคndern

Fรผgen Sie eine zusammenfassende Statistik hinzu

Sie kรถnnen dem R-Boxplot() eine zusammenfassende Statistik hinzufรผgen.

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

Code Erklรคrung

  • stat_summary() ermรถglicht das Hinzufรผgen einer Zusammenfassung zum horizontalen Boxplot R
  • Das Argument fun.y steuert die zurรผckgegebenen Statistiken. Sie werden โ€žmeanโ€œ verwenden
  • Hinweis: Es sind auch andere Statistiken verfรผgbar, z. B. Min. und Max. Im selben Diagramm kรถnnen mehrere Statistiken angezeigt werden
  • geom = โ€žpointโ€œ: Den Durchschnitt mit einem Punkt grafisch darstellen
  • size=3: GrรถรŸe des Punktes
  • color =โ€œsteelblueโ€œ: Farbe der Punkte

Ausgang:

Fรผgen Sie eine zusammenfassende Statistik hinzu

Box Plot mit Punkten

Im nรคchsten horizontalen Boxplot R fรผgen Sie die Punktplot-Ebenen hinzu. Jeder Punkt stellt eine Beobachtung dar.

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

Code Erklรคrung

  • geom_dotplot() ermรถglicht das Hinzufรผgen von Punkten zur Bin-Breite
  • binaxis='y': ร„ndert die Position der Punkte entlang der y-Achse. StandardmรครŸig x-Achse
  • dotsize=1: GrรถรŸe der Punkte
  • stackdir='center': Mรถglichkeit, die Punkte zu stapeln: Vier Werte:
    • โ€žobenโ€œ (Standard),
    • "Nieder"
    • "Center"
    • โ€žcenterganzโ€œ

Ausgang:

Box Plot mit Punkten

Kontrollieren Sie die ร„sthetik des Box Grundflรคche

ร„ndern Sie die Farbe der Box

Sie kรถnnen die Farben der Gruppe รคndern.

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

Code Erklรคrung

  • Die Farben der Gruppen werden im aes()-Mapping gesteuert. Sie kรถnnen color= Month verwenden, um die Farbe des Box- und Whisker-Plots entsprechend den Monaten zu รคndern.

Ausgang:

ร„ndern Sie die Farbe des Box

Box Grundstรผck mit mehreren Gruppen

Es ist auch mรถglich, mehrere Gruppen hinzuzufรผgen. Sie kรถnnen den Unterschied in der Luftqualitรคt je nach Messtag visualisieren.

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

Code Erklรคrung

  • Die aes()-Zuordnung des geometrischen Objekts steuert die anzuzeigenden Gruppen (diese Variable muss ein Faktor sein)
  • aes(fill= day_cat) ermรถglicht das Erstellen von drei Feldern fรผr jeden Monat auf der X-Achse

Ausgang:

Box Plot mit mehreren Gruppen

Box Diagramm mit verwackelten Punkten

Eine andere Mรถglichkeit, den Punkt anzuzeigen, sind Punkte mit Jitter. Dies ist eine praktische Mรถglichkeit, Punkte mit einem Boxplot fรผr kategoriale Daten in R-Variablen zu visualisieren.

Diese Methode vermeidet die รœberlappung der diskreten Daten.

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

Code Erklรคrung

  • geom_jitter() fรผgt jedem Punkt einen kleinen Zerfall hinzu.
  • shape=15 รคndert die Form der Punkte. 15 steht fรผr die Quadrate
  • color = โ€žsteelblueโ€œ: ร„ndere die Farbe des Punktes
  • position=position_jitter(width = 0.21): Mรถglichkeit, die รผberlappenden Punkte zu platzieren. position_jitter(width = 0.21) bedeutet, dass Sie die Punkte um 20 Prozent von der x-Achse verschieben. StandardmรครŸig 40 Prozent.

Ausgang:

Box Diagramm mit verwackelten Punkten

Sie kรถnnen den Unterschied zwischen dem ersten Diagramm mit der Jitter-Methode und dem zweiten mit der Punktmethode erkennen.

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

Box Diagramm mit verwackelten Punkten

Gekerbt Box Grundflรคche

Ein interessantes Feature von geom_boxplot() ist eine Notch-Boxplot-Funktion in R. Das Notch-Plot verengt die Box um den Median. Der Hauptzweck eines Notch-Boxplots besteht darin, die Signifikanz des Medians zwischen Gruppen zu vergleichen. Es gibt starke Hinweise darauf, dass zwei Gruppen unterschiedliche Mediane haben, wenn sich die Notchs nicht รผberschneiden. Ein Notch wird wie folgt berechnet:

Gekerbt Box Grundflรคche

Dabei handelt es sich um das Interquartil und die Anzahl der Beobachtungen.

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

Code Erklรคrung

  • geom_boxplot(notch=TRUE): Erstellt ein horizontales Boxplot mit Kerben R

Ausgang:

Gekerbt Box Grundflรคche

Zusammenfassung

Wir kรถnnen die verschiedenen Arten von horizontalen Boxplots R in der folgenden Tabelle zusammenfassen:

Ziel Code
Einfaches Boxplot
ggplot(df, aes( x = x1, y =y)) + geom_boxplot()
die Seite umdrehen
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + coord_flip()
Gekerbtes Boxplot
ggplot(df, aes( x = x1, y =y)) + geom_boxplot(notch=TRUE)
Box Plot mit verwackelten Punkten
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + geom_jitter(position = position_jitter(0.21))

รœberprรผfen Sie auch: - R-Tutorial fรผr Anfรคnger: Lernen Sie die Programmiersprache R

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: