Como criar um gráfico qq em ggplot2 (com exemplo)


Um gráfico QQ, abreviação de “quantil-quantil”, é usado para avaliar se um conjunto de dados vem potencialmente de uma distribuição teórica.

Na maioria dos casos, este tipo de gráfico é usado para determinar se um conjunto de dados segue ou não uma distribuição normal.

Se os dados forem distribuídos normalmente, os pontos em um gráfico QQ estarão em uma linha reta diagonal.

Por outro lado, se os pontos se desviarem significativamente da linha reta diagonal, é menos provável que os dados sejam distribuídos normalmente.

Para criar um gráfico QQ em ggplot2, você pode usar as funções stat_qq() e stat_qq_line() da seguinte forma:

 library (ggplot2)

ggplot(df, aes(sample=y)) +
  stat_qq() + 
  stat_qq_line()

Os exemplos a seguir mostram como usar essa sintaxe para criar um gráfico QQ em dois cenários diferentes.

Exemplo 1: gráfico QQ para dados normais

O código a seguir mostra como gerar um conjunto de dados normalmente distribuído com 200 observações e criar um gráfico QQ para o conjunto de dados em R:

 library (ggplot2)

#make this example reproducible
set. seeds (1)

#create some fake data that follows a normal distribution
df <- data. frame (y=rnorm(200))

#create QQ plot
ggplot(df, aes(sample=y)) +
  stat_qq() + 
  stat_qq_line()

Gráfico QQ em ggplot2

Podemos ver que os pontos estão principalmente ao longo da linha reta diagonal, com alguns pequenos desvios ao longo de cada uma das caudas.

Com base neste gráfico, assumiríamos que este conjunto de dados é normalmente distribuído.

Observe que também podemos usar os argumentos color e size para alterar a cor e o tamanho dos pontos no gráfico, se desejarmos:

 library (ggplot2)

#make this example reproducible
set. seeds (1)

#create some fake data that follows a normal distribution
df <- data. frame (y=rnorm(200))

#create QQ plot
ggplot(df, aes(sample=y)) +
  stat_qq(size= 2.5 , color=' red ') + 
  stat_qq_line() 

Exemplo 2: gráfico QQ para dados não normais

O código a seguir mostra como criar um gráfico QQ para um conjunto de dados que segue uma distribuição exponencial com 200 observações:

 #make this example reproducible
set. seeds (1)

#create some fake data that follows an exponential distribution
df <- data. frame (y=rexp( 200 , rate= 3 ))

#create QQ plot
ggplot(df, aes(sample=y)) +
  stat_qq() + 
  stat_qq_line()

Vemos que os pontos se desviam consideravelmente da linha diagonal. Isso indica claramente que o conjunto de dados não é normalmente distribuído.

Isso deve fazer sentido, visto que especificamos que os dados deveriam seguir uma distribuição exponencial.

Recursos adicionais

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

Como plotar múltiplas linhas no ggplot2
Como traçar média e desvio padrão no ggplot2
Como alterar as cores das linhas no ggplot2

Add a Comment

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