Como realizar teste de normalidade no R ?

Simulando dados:

O vetor A foi inventado com distribuição não normal. O vetor B foi simulado a partir de dados aleatórios com distribuição normal.

A <- c(1,2,2,3,4,8,9,23,25,30,23,78,55,99,34,98,89,89,89,78,67,45,2,3,3,1,7,2,11,14,
       1,2,2,3,4,8,9,23,25,30,23,78,100,99,99,98,34,89,89,78,67,45,2,3,3,1,7,2,11,1,1,2,2,3,4,8,9,23,25,30,23,78,100,99,99,98,34,89,89,78,67,45,2,60,3,1,87,88,80,99)
B <- rnorm(90)

Teste de normalidade (Shapiro-Wilk):

A hipótese nula do teste de Shapiro-Wilk é que a população possui distribuição normal. Portanto, um valor de p < 0.05 indica que você rejeitou a hipótese nula, ou seja, seus dados não possuem distribuição normal.

shapiro.test(A) # Teste de normalidade para o vetor A
## 
##  Shapiro-Wilk normality test
## 
## data:  A
## W = 0.8139, p-value = 2.727e-09
shapiro.test(B) # Teste de normalidade para o vetor B
## 
##  Shapiro-Wilk normality test
## 
## data:  B
## W = 0.9801, p-value = 0.1823

Como podemos ver, o teste nos indica que o vetor A não possui distribuição normal (p < 0.05). No entanto, não conseguimos rejeitar a hipótese nula para o vetor B (p > 0.05), ou seja, este conjunto de dados foi extraído de uma população com distribuição normal.


Análise Gráfica: Histogramas:

Uma outra forma de entendermos melhor a distribuição de nossos dados é contruindo um histograma. Bom, essa é uma tarefa muito fácil no R!!!

Opção (a mais simples que exite):
hist(A)

hist(B)

Podemos perceber claramente pelo histograma A que a distribuição dos pontos não segue uma distribuição normal. Saiba mais sobre a distribuição normal no link

Opção 2 (um pouco mais elegante):˜

Para ajustar os intervalos das barras utilize o argumento binwidth, para mudar o preenchimento utilize o argumento fill, para mudar a cor utilize o argumento colour. Para saber mais sobre as opções ?geom_histogram

dados <- data.frame(A,B)
library(ggplot2)
ggplot(dados, aes(x=A))+geom_histogram(fill="white",colour="black")

ggplot(dados, aes(x=B))+geom_histogram(binwidth=.5,colour="tomato",fill="white")