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.
==min(Z)]=1.49
Z[Zsort(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
=DadosEstudante[,7] ## variável Altura
Z=length(Z) ## obtém o número de elementos no vetor
n=round(1 + log(n, base = 2), digits = 0) ## número de classes
k= cut(Z, breaks=k, right = TRUE, dig.lab = 2) ## amplitude separada em intervalos de tamanhos delta
Intervalos=table(Intervalos) ## intervalos com as repetições
freq=names(freq) ## intervalos sem as repetições
interv=as.vector(freq) ## obtém a frequência de cada possível valor nos dados
ni=ni/n ## obtém a frequência relativa de cada possível valor nos dados
fi=cumsum(fi) ## frequência relativa acumulada
fac=round((cbind(ni,fi,fac)), digits = 2) ## para usar 2 casas decimais
tabela=cbind(interv,tabela)
tabela
::kable(
knitr
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"
)
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 |