3 Tabela de Frequência com Intervalos nas Classes

O objetivo dessa seção é construir uma tabela de frequência apropriada para variáveis quantitativas contínuas ou quantitativas discretas com muitos valores possíveis no conjunto de dados, como é o caso variável altura dos estudantes vista na seção anterior. No caso da altura dos estudantes, como a variável não tem uma natureza discreta, é natural não haver muitas repetições no conjunto de dados. Assim, deve-se construir uma tabela em intervalos de classes, como será visto a seguir.

  • Determina-se o número de classes, \(k\), para isso pode-se fazer uso da regra de Sturges (Scott 2009)

\[k\approx1+ \log_{2}(n),\]

  • define-se \(L_{inf}\) um valor menor ou igual ao valor mínimo \(L_{inf} <\) valor mínimo;

  • define-se \(L_{sup}\) um valor maior o igual ao valor máximo \(L_{sup} >\) valor máximo;

  • obtém-se a amplitude das classes

\[AT=L_{sup}-L_{inf}\]

  • e, finalmente, obtém-se a amplitude para cada classe fazendo: \[\delta=AT/k.\]

Para os dados da variável Altura, vamos fixar \(L_{sup}=1,94\) e \(L_{inf}=1,48\) para determinar \[AT=L_{sup}-L_{inf}=1,94-1,48=0,46.\] Como \(n=209\), tem-se \(k\approx 1+log_{2}(209)\approx 8,71\approx 9\), assim \(k=9\) que fornece \(\delta=0,46/9 \approx 0,05\). Logo, tem-se:

\(1,48+0,05=1,53\) \(\Rightarrow\) \((1,48; 1,53]\)
\(1,53+0,05=1,58\) \(\Rightarrow\) \((1,53; 1,58]\)
\(1,58+0,05=1,63\) \(\Rightarrow\) \((1,58; 1,63]\)
\(1,63+0,05=1,68\) \(\Rightarrow\) \((1,63; 1,68]\)
\(1,68+0,05=1,74\) \(\Rightarrow\) \((1,68; 1,74]\)
\(1,74+0,05=1,79\) \(\Rightarrow\) \((1,73; 1,79]\)
\(1,79+0,05=1,84\) \(\Rightarrow\) \((1,79; 1,84]\)
\(1,84+0,05=1,89\) \(\Rightarrow\) \((1,84; 1,89]\)
\(1,89+0,05=1,94\) \(\Rightarrow\) \((1,89; 1,94]\)

Com esses intervalos, basta verificar a quantidade de observações dentro de cada um deles para construir a coluna das frequências relativas \(n_i\) e posteriormente as demais frequências (\(f_i\) e \(f_{ac}\)). Essa contagem fica simplificada obtendo o rol dos dados (dados ordenados). Observando esses dados abaixo, pode-se notar que o primeiro intervalo,\((1,48; 1,53]\), contém 12 valores observados. Todas as frequências completas podem ser vistas na Tabela 3.1, que é resultado da saída do código que a precede.

Z[Z==min(Z)]=1.49
sort(Z)             ## comando para ordenar a sequência de observações em forma de vetor
##   [1] 1,49 1,49 1,50 1,50 1,51 1,52 1,53 1,53 1,53 1,53 1,53 1,53 1,54 1,54 1,55
##  [16] 1,55 1,56 1,56 1,56 1,56 1,56 1,56 1,56 1,56 1,57 1,57 1,57 1,57 1,57 1,58
##  [31] 1,58 1,58 1,58 1,59 1,59 1,60 1,60 1,60 1,60 1,60 1,60 1,60 1,60 1,60 1,60
##  [46] 1,60 1,60 1,61 1,61 1,61 1,61 1,62 1,62 1,62 1,62 1,63 1,63 1,63 1,63 1,63
##  [61] 1,63 1,63 1,63 1,63 1,63 1,63 1,64 1,64 1,64 1,64 1,64 1,64 1,65 1,65 1,65
##  [76] 1,65 1,65 1,65 1,65 1,65 1,65 1,65 1,65 1,65 1,65 1,65 1,66 1,66 1,66 1,66
##  [91] 1,66 1,67 1,67 1,67 1,67 1,67 1,68 1,68 1,68 1,69 1,70 1,70 1,70 1,70 1,70
## [106] 1,70 1,70 1,70 1,70 1,70 1,70 1,70 1,70 1,70 1,70 1,70 1,70 1,70 1,70 1,70
## [121] 1,70 1,70 1,70 1,71 1,71 1,71 1,71 1,71 1,71 1,71 1,72 1,72 1,72 1,72 1,72
## [136] 1,72 1,72 1,72 1,72 1,73 1,73 1,73 1,73 1,73 1,73 1,73 1,73 1,73 1,73 1,74
## [151] 1,74 1,74 1,74 1,75 1,75 1,75 1,75 1,75 1,75 1,75 1,75 1,75 1,75 1,75 1,76
## [166] 1,76 1,76 1,76 1,76 1,77 1,78 1,78 1,78 1,78 1,78 1,78 1,78 1,78 1,78 1,78
## [181] 1,78 1,79 1,79 1,80 1,80 1,80 1,80 1,80 1,80 1,80 1,80 1,81 1,81 1,82 1,82
## [196] 1,83 1,83 1,83 1,84 1,84 1,85 1,85 1,85 1,85 1,87 1,93 1,93 1,93 1,94
Z=DadosEstudante[,7]                                        ## variável Altura
n=length(Z)                                                 ## obtém o número de elementos no vetor
k=round(1 + log(n, base = 2), digits = 0)                   ## número de classes
Intervalos= cut(Z, breaks=k, right = TRUE, dig.lab = 2)     ## amplitude separada em intervalos de tamanhos delta
freq=table(Intervalos)                                      ## intervalos com as repetições
interv=names(freq)                                          ## intervalos sem as repetições
ni=as.vector(freq)                                          ## obtém a frequência de cada possível valor nos dados
fi=ni/n                                                     ## obtém a frequência relativa de cada possível valor nos dados
fac=cumsum(fi)                                              ## frequência relativa acumulada
tabela=round((cbind(ni,fi,fac)), digits = 2)                ## para usar 2 casas decimais
tabela=cbind(interv,tabela)

knitr::kable(
  tabela, 
  caption = 'Distribução de frequência da variável Z="Altura".',
  booktabs = FALSE,
  col.names =  c("Z", "Frequência Absoluta","Frequência Relativa","Frequência Acumulada"),
   align = "cccc"
)
Tabela 3.1: Distribução de frequência da variável Z=“Altura”.
Z Frequência Absoluta Frequência Relativa Frequência Acumulada
(1,48,1,53] 12 0,06 0,06
(1,53,1,58] 21 0,1 0,16
(1,58,1,63] 33 0,16 0,32
(1,63,1,68] 33 0,16 0,47
(1,68,1,74] 50 0,24 0,71
(1,74,1,79] 32 0,15 0,87
(1,79,1,84] 17 0,08 0,95
(1,84,1,89] 7 0,03 0,98
(1,89,1,94] 4 0,02 1

Referências

Scott, David W. 2009. “Sturges’ Rule.” Wiley Interdisciplinary Reviews: Computational Statistics 1 (3): 303–6.