Kiedy używać stat=”identity” na wykresach ggplot2
Istnieją dwa popularne sposoby używania funkcji geom_bar() w ggplot2 do tworzenia wykresów słupkowych:
Metoda 1: Użyj geom_bar()
ggplot(df, aes(x)) + geom_bar()
Domyślnie geom_bar() po prostu zliczy wystąpienia każdej unikalnej wartości zmiennej x i użyje słupków do wyświetlenia zliczeń.
Metoda 2: Użyj geom_bar(stat=”tożsamość”)
ggplot(df, aes(x, y)) +
geom_bar(stat=" identity ")
Jeśli podasz argument stat=”tożsamość” do geom_bar(), to mówisz R, aby obliczył sumę zmiennej y, pogrupowanej według zmiennej x i użył słupków do wyświetlenia sum.
Poniższe przykłady ilustrują różnicę między tymi dwiema metodami przy użyciu następującej ramki danych w języku R, która pokazuje punkty zdobyte przez koszykarzy z różnych drużyn:
#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
Przykład 1: Używanie geom_bar()
Poniższy kod pokazuje, jak używać funkcji geom_bar() do tworzenia wykresu słupkowego wyświetlającego liczbę każdej unikalnej wartości w kolumnie zespołu :
library (ggplot2) #create bar chart to visualize occurrence of each unique value in team column ggplot(df, aes(team)) + geom_bar()
Oś X wyświetla unikalne wartości w kolumnie Zespół , a oś Y wyświetla liczbę wystąpień każdej unikalnej wartości.
Ponieważ każda unikalna wartość pojawiła się 4 razy, wysokość każdego słupka na wykresie wynosi 4.
Przykład 2: Użycie geom_bar(stat=”identity”)
Poniższy kod pokazuje jak użyć funkcji geom_bar() z argumentem stat=”identity” do stworzenia wykresu słupkowego wyświetlającego sumę wartości w kolumnie punktów , pogrupowanych według zespołu :
library (ggplot2) #create bar chart to visualize sum of points, grouped by team ggplot(df, aes(team, points)) + geom_bar(stat=" identity ")
Oś X wyświetla unikalne wartości w kolumnie zespołu , a oś Y wyświetla sumę wartości w kolumnie punktów dla każdego zespołu.
Na przykład:
- Suma punktów drużyny A wynosi 19.
- Suma punktów drużyny B wynosi 27.
- Suma punktów dla drużyny C wynosi 35.
Używając stat=”identity” w funkcji geom_bar() możemy zamiast zliczeń wyświetlić sumę wartości danej zmiennej w naszej ramce danych.
Uwaga : Aby stat=”tożsamość” działała poprawnie, musisz podać zarówno zmienną x, jak i zmienną ay w argumencie aes() .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w ggplot2:
Jak dostosować odstęp między słupkami w ggplot2
Jak usunąć NA z działki w ggplot2
Jak zmienić kolory słupków na skumulowanym wykresie Bart w ggplot2