Wanneer moet u stat=”identity” gebruiken in ggplot2-plots?


Er zijn twee veelgebruikte manieren om de functie geom_bar() in ggplot2 te gebruiken om staafdiagrammen te maken:

Methode 1: Gebruik geom_bar()

 ggplot(df, aes(x)) +
  geom_bar()

Standaard telt geom_bar() eenvoudigweg het aantal keren dat elke unieke waarde voor de variabele x voorkomt en gebruikt hij balken om de aantallen weer te geven.

Methode 2: Gebruik geom_bar(stat=”identity”)

 ggplot(df, aes(x, y)) +
  geom_bar(stat=" identity ")

Als je het argument stat=”identity” aan geom_bar() geeft, vertel je R om de som van de variabele y te berekenen, gegroepeerd door de variabele x, en om balken te gebruiken om de sommen weer te geven.

De volgende voorbeelden illustreren het verschil tussen deze twee methoden met behulp van het volgende gegevensframe in R, waarin de punten worden weergegeven die zijn gescoord door basketbalspelers van verschillende teams:

 #create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 4 ),
                 points=c(3, 5, 5, 6, 5, 7, 7, 8, 9, 9, 9, 8))

#view data frame
df

   team points
1 to 3
2 to 5
3 to 5
4 to 6
5 B 5
6 B 7
7 B 7
8 B 8
9 C 9
10 C 9
11 C 9
12 C 8

Voorbeeld 1: gebruik geom_bar()

De volgende code laat zien hoe u de functie geom_bar() gebruikt om een staafdiagram te maken waarin het aantal van elke unieke waarde in de teamkolom wordt weergegeven:

 library (ggplot2)

#create bar chart to visualize occurrence of each unique value in team column
ggplot(df, aes(team)) +
  geom_bar()

Op de X-as worden de unieke waarden in de kolom Team weergegeven, en op de Y-as wordt het aantal keren weergegeven dat elke unieke waarde voorkomt.

Omdat elke unieke waarde 4 keer voorkomt, is de hoogte van elke balk 4 in de grafiek.

Voorbeeld 2: gebruik van geom_bar(stat=”identity”)

De volgende code laat zien hoe u de functie geom_bar() gebruikt met het argument stat=”identity” om een staafdiagram te maken dat de som van de waarden in de puntenkolom weergeeft, gegroepeerd per team :

 library (ggplot2)

#create bar chart to visualize sum of points, grouped by team
ggplot(df, aes(team, points)) +
  geom_bar(stat=" identity ")

geom_bar met stat = "identiteit" in ggplot2

Op de X-as worden de unieke waarden in de teamkolom weergegeven en op de Y-as de som van de waarden in de puntenkolom voor elk team.

Bijvoorbeeld:

  • De som van de punten van team A is 19.
  • Het totaal aantal punten van team B is 27.
  • De puntentotaal voor team C is 35.

Door stat=”identity” te gebruiken in de geom_bar() functie, kunnen we de som van de waarden van een bepaalde variabele in ons dataframe weergeven in plaats van aantallen.

Opmerking : Om stat=”identity” correct te laten werken, moet u zowel een x-variabele als een ay-variabele opgeven in het aes()- argument.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in ggplot2 kunt uitvoeren:

Hoe de ruimte tussen staven in ggplot2 aan te passen
Hoe NA’s uit een plot in ggplot2 te verwijderen
Hoe u de staafkleuren in het gestapelde Bart-diagram in ggplot2 kunt wijzigen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert