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


Os gráficos de resíduos são usados para avaliar se os resíduos de um modelo de regressão são normalmente distribuídos e se apresentam ou não heterocedasticidade .

Para criar um gráfico residual em ggplot2, você pode usar a seguinte sintaxe básica:

 library (ggplot2)

ggplot(model, aes(x = .fitted, y = .resid)) +
  geom_point() +
  geom_hline(yintercept = 0 )

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

Exemplo: Criando um gráfico residual em ggplot2

Para este exemplo, usaremos o conjunto de dados mtcars integrado ao R:

 #view first six rows of mtcars dataset
head(mtcars)
                   mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1

Primeiro, ajustaremos um modelo de regressão usando mpg como variável de resposta e qsec como variável preditora:

 #fit regression model
model <- lm(mpg ~ qsec, data=mtcars)

A seguir, usaremos a seguinte sintaxe para criar um gráfico residual em ggplot2:

 library (ggplot2)

#create residual plot
ggplot(model, aes(x = .fitted, y = .resid)) +
  geom_point() +
  geom_hline(yintercept = 0 ) 

gráfico residual em ggplot2

O eixo x exibe os valores ajustados e o eixo y exibe os resíduos.

Os resíduos parecem estar espalhados aleatoriamente em torno de zero, sem nenhum padrão claro, indicando que a suposição de homocedasticidade é satisfeita.

Em outras palavras, os coeficientes do modelo de regressão devem ser confiáveis e não precisamos realizar nenhuma transformação nos dados.

Observe também que poderíamos usar a função labs() para adicionar um título e rótulos de eixo ao gráfico residual:

 library (ggplot2)

#create residual plot with title and axis labels
ggplot(model, aes(x = .fitted, y = .resid)) +
  geom_point() +
  geom_hline(yintercept = 0 ) +
  labs(title=' Residual vs. Fitted Values Plot ', x=' Fitted Values ', y=' Residuals ') 

ggplot2 plotando resíduos versus valores ajustados com rótulos de eixo

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como calcular resíduos padronizados em R
Como calcular resíduos estudantis em R
Como criar um histograma de resíduos em R

Add a Comment

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