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

geom_bar com stat = "identidade" em ggplot2

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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *