Como remover nas do gráfico no ggplot2 (com exemplo)


Você pode usar a seguinte sintaxe básica para remover valores NA de um gráfico no ggplot2:

 library (ggplot2)

ggplot(data=subset(df, ! is. na (this_column)), aes(x=this_column)) +
  geom_bar()

Este exemplo específico cria um gráfico de barras e remove todas as linhas do quadro de dados onde um valor NA aparece na coluna chamada this_column .

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: Remover NAs do gráfico em ggplot2

Suponha que temos o seguinte quadro de dados contendo informações sobre o número de pontos marcados por jogadores de basquete de diferentes times:

 #create data frame
df <- data. frame (team=c('A', 'A', NA, NA, 'B', 'B', 'B', 'B'),
                 dots=c(22, 29, 14, 8, 5, 12, 26, 36))

#view data frame
df

  team points
1 to 22
2 to 29
3 <NA> 14
4 <NA> 8
5 B 5
6 B 12
7 B 26
8 B 36

Agora suponha que tentamos criar um gráfico de barras no ggplot2 para visualizar o número de ocorrências de cada equipe:

 library (ggplot2)

#create bar plot to visualize occurrences by team
ggplot(df, aes(x=team)) +
  geom_bar() 

remova valores NA em ggplot2

Observe que o gráfico cria automaticamente uma barra para exibir ocorrências dos valores NA na coluna Equipe .

Para remover esta barra do gráfico, podemos usar a função subset() para subconfigurar o quadro de dados para incluir apenas as linhas onde o valor na coluna da equipe não é NA:

 library (ggplot2)

#create bar plot to visualize occurrences by team and remove NA
ggplot(data=subset(df, ! is. na (team)), aes(x=team)) +
  geom_bar() 

Este gráfico de barras ainda exibe o número de ocorrências dos valores “A” e “B” na coluna Equipe , mas não inclui mais uma barra para exibir o número de ocorrências dos valores NA.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns no ggplot2:

Como remover rótulos de eixo no ggplot2
Como remover uma legenda no ggplot2
Como remover linhas de grade no ggplot2

Add a Comment

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