Quando usar stat=”identity” em gráficos ggplot2
Existem duas maneiras comuns de usar a função geom_bar() no ggplot2 para criar gráficos de barras:
Método 1: use geom_bar()
ggplot(df, aes(x)) + geom_bar()
Por padrão, geom_bar() simplesmente contará as ocorrências de cada valor único para a variável x e usará barras para exibir as contagens.
Método 2: Use geom_bar(stat=”identidade”)
ggplot(df, aes(x, y)) +
geom_bar(stat=" identity ")
Se você fornecer o argumento stat=”identity” para geom_bar() então você está dizendo a R para calcular a soma da variável y, agrupada pela variável x e usar barras para exibir as somas.
Os exemplos a seguir ilustram a diferença entre esses dois métodos usando o seguinte quadro de dados em R que mostra os pontos marcados por jogadores de basquete de times diferentes:
#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
Exemplo 1: Usando geom_bar()
O código a seguir mostra como usar a função geom_bar() para criar um gráfico de barras que exibe a contagem de cada valor exclusivo na coluna da equipe :
library (ggplot2) #create bar chart to visualize occurrence of each unique value in team column ggplot(df, aes(team)) + geom_bar()
O eixo X exibe os valores exclusivos na coluna Equipe e o eixo Y exibe o número de vezes que cada valor exclusivo ocorreu.
Como cada valor único apareceu 4 vezes, a altura de cada barra é 4 no gráfico.
Exemplo 2: Usando geom_bar(stat=”identity”)
O código a seguir mostra como usar a função geom_bar() com o argumento stat=”identity” para criar um gráfico de barras que exibe a soma dos valores na coluna de pontos , agrupados por equipe :
library (ggplot2) #create bar chart to visualize sum of points, grouped by team ggplot(df, aes(team, points)) + geom_bar(stat=" identity ")
O eixo X exibe os valores exclusivos na coluna da equipe e o eixo Y exibe a soma dos valores na coluna de pontos de cada equipe.
Por exemplo:
- A soma dos pontos da equipe A é 19.
- O total de pontos da equipe B é 27.
- A soma dos pontos da equipe C é 35.
Ao usar stat=”identity” na função geom_bar() , podemos exibir a soma dos valores de uma variável específica em nosso quadro de dados em vez de contagens.
Nota : Para que stat=”identity” funcione corretamente, você deve fornecer uma variável x e uma variável ay no argumento aes() .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns no ggplot2:
Como ajustar o espaço entre barras no ggplot2
Como remover NAs do gráfico no ggplot2
Como alterar as cores das barras no gráfico Stacked Bart no ggplot2