Neste capítulo apresentamos os primeiros passos em Estatística Descritiva para análise de uma única variável, aqui temos o foco na construção de gráficos e tabelas de frequência para variáveis qualitativas e medidas de posição para variáveis quantitativas. Medidas de dispersão e tabelas de frequência para variáveis quantitativas serão vistas no próximo capítulo.
Para ilustrar a metodologia apresentamos um conjunto de dados com quinze observações. Além disso, ao decorrer deste capítulo também serão apresentados os códigos das linguagens R e Python para construção de análises descritivas simples.
Estatística descritiva é o nome dado ao conjunto de técnicas utilizadas para resumir as informações coletadas em uma pesquisa ou estudo. Este resumo pode envolver medidas descritivas de locação e dispersão, gráficos e tabelas para uma ou mais características.
As características (informações) observadas, que variam de elemento para elemento (objeto de estudo), são denominadas variáveis, como mencionado no Capítulo 1.
Para introduzir os conceitos de medidas descritivas de posição e dispersão, gráficos e tabelas, consideramos um exemplo com dados artificiais gerados através do conjunto de dados reais DARPA/MIT-1999, utilizado para testar um grande número de sistemas de detecção de intrusos em servidores (Vigna e Kemmerer 1999Vigna, G., e R. A. Kemmerer. 1999. «NetSTAT: A network-based intrusion detection system». Journal of Computer Security 7 (1): 37–71.).
Ilustração. Fonte: adentrocloud.com.br
EXEMPLO: Em um servidor, considere uma amostra aleatória de quinze conexões em que algumas variáveis foram consideradas. A Tabela 1 exibe as variáveis observadas para as conexões selecionadas aleatoriamente: duração de conexão (em segundos) e a sua respectiva classificação (normal: \(<=10\)s ou longa: \(>10\)s), tipo de serviço (http, particular ou smtp), número de bytes enviados, número de bytes recebidos, taxa de erro de sincronia e login (sim ou não).
Observações de quinze conexões selecionadas aleatoriamente em um servidor.
conexao | tempo | classificacao | servico | bytes.env | bytes.rec | taxa.sincronia | login |
---|---|---|---|---|---|---|---|
1 | 1.16 | normal | http | 1877 | 4236 | 0.05 | sim |
2 | 2.55 | normal | http | 1691 | 4226 | 0.05 | sim |
3 | 1.42 | normal | http | 1896 | 4057 | 0.04 | sim |
4 | 1.43 | normal | http | 1944 | 4328 | 0.03 | sim |
5 | 0.10 | normal | http | 1916 | 4290 | 0.04 | nao |
6 | 0.63 | normal | http | 1830 | 3987 | 0.01 | sim |
7 | 2.61 | normal | particular | 3502 | 5878 | 0.07 | nao |
8 | 10.56 | longa | particular | 8301 | 5127 | 0.08 | nao |
9 | 24.91 | longa | particular | 7021 | 7532 | 0.08 | sim |
10 | 19.88 | longa | particular | 5991 | 8033 | 0.07 | nao |
11 | 0.10 | normal | smtp | 1760 | 233 | 0.05 | sim |
12 | 3.94 | normal | smtp | 1690 | 298 | 0.05 | sim |
13 | 10.49 | longa | smtp | 1832 | 555 | 0.06 | sim |
14 | 8.77 | normal | smtp | 1901 | 385 | 0.06 | nao |
15 | 3.23 | normal | smtp | 1832 | 398 | 0.06 | sim |
Neste caso, temos apenas 15 observações, tamanho amostral \(n=15\). Uma análise atenta à Tabela acima pode revelar algumas informações, tais como, por exemplo, que os tempos mínimos e máximos observados para as conexões foram de 0,1s e 24,91. Porém, existem outras informações relevantes que poderiam ser encontradas ou descritas. Para uma base de dados com muitas observações, até mesmo essa simples verificação seria demorada. Desta forma, é extremamente útil resumirmos a base de dados por meio de tabelas, gráficos ou medidas, no sentido de encontrar padrões e informações relevantes.
A forma de resumo descritivo depende do tipo de variável. De uma forma geral, não podemos resumir variáveis qualitativas da mesma maneira que variáveis quantitativas.
Assim, começamos com a identificação do tipo das variáveis.
EXEMPLO: Classificação das variáveis do exemplo anterior :
qualitativas nominais: categorias das conexões (serviço) e login;
qualitativas ordinais: classificação da duração da conexão;
quantitativas discretas: número de bytes enviados e recebidos;
quantitativas contínuas: tempo e taxas de erro de sincronia .
Note que a coluna conexão não é considerada uma variável, pois a próxima observação seria, necessariamente, a 16\(^a\). Não há incerteza associada e sua descrição seria inútil.
As próximas seções exibem formas de descrição distintas, segundo o tipo de variável.
Para este tipo de variável, o resumo dos dados pode ser feito a partir de tabelas de distribuição de frequências. Estas tabelas representam uma forma organizada de resumir os dados, quanto às possíveis respostas. Geralmente, estas contêm as categorias de respostas, e suas respectivas frequências absolutas e frequências relativas.
A frequência absoluta, denotada por \(f_{a}\), é a frequência de elementos com mesma resposta, ou seja, a contagem dos elementos que pertencem a cada categoria.
A frequência relativa, denotada por \(f_{r}\) e definida por \(f_{r} = \frac{f_{a}}{n}\), é a proporção com que as respostas aparecem no conjunto de dados, para cada categoria.
Além disso, a porcentagem \(p\) de cada categoria é útil para interpretação mais direta, sendo \(p=(f_{r}\times100)\%\).
A seguir são apresentadas tais medidas, organizadas em tabelas de frequência, para as variáveis categorias das conexões (serviço), login e classificação da duração da conexão, respectivamente.
Tabela de frequências para a variável categorias das conexões (serviço)
categoria | fa | fr | p |
---|---|---|---|
http | 6 | 0.400 | 40.0 |
particular | 4 | 0.267 | 26.7 |
smtp | 5 | 0.333 | 33.3 |
Total | 15 | 1.000 | 100.0 |
Tabela de frequências para a variável login
categoria | fa | fr | p |
---|---|---|---|
nao | 5 | 0.333 | 33.3 |
sim | 10 | 0.667 | 66.7 |
Total | 15 | 1.000 | 100.0 |
Na construção da tabela de frequências para variáveis qualitativas ordinais, as categorias podem seguir o critério de ordenação. Desta forma, para a variável ordinal classificação da duração, pode respeitar sua ordem natural (normal, longa).
Tabela de frequências para a variável classificação
categoria | fa | fr | p |
---|---|---|---|
longa | 4 | 0.267 | 26.7 |
normal | 11 | 0.733 | 73.3 |
Total | 15 | 1.000 | 100.0 |
As informações contidas em uma tabela de frequências dão origem à construção de gráficos, sendo que os mais indicados para as variáveis qualitativas são os gráficos de barras e de setores circulares; este último é conhecido como gráfico de ‘pizza’.
O gráfico de barras é construído de tal forma que cada categoria é representada por uma barra de mesma largura, cuja altura é dada pela frequência absoluta (\(f_{a}\)), ou frequência relativa (\(f_r\)) ou porcentagem (\(p\)). Neste gráfico as barras podem ser verticais ou horizontais, porém, sempre equi-espaçadas.
No caso do gráfico de setores circulares, considera-se um círculo padrão de \(360^o\) no qual cada categoria possuirá uma abertura de ângulo proporcional à sua frequência; assim o tamanho do ângulo (ou tamanho da fatia da pizza) é obtido da seguinte forma: ângulo \(i = 360 \times f_{r_i}\), sendo \(i\) o indicador de cada classe de respostas.
EXEMPLO: Para a variável tipo de serviço existem três tipos de respostas (\(i = 1, 2, 3\)) . Neste caso, o ângulo para cada resposta é \(360 \times 0,50 = 180^o\) para o tipo http, \(72^o\) para o tipo particular e \(108^o\) para smtp (ver Gráfico abaixo).
O comportamento da variável tipo de serviço é exibido por gráfico de barras e os comportamentos das variáveis login e classificação são exibidos em gráfico de setores circulares.
Gráfico de barras para variável tipo de serviço
Gráfico de setores circulares para variável login
Gráfico de barras empilhadas para variável classificação
Em uma análise univariada, tabelas de frequências e gráficos de barras ou setores circulares são, na maioria das vezes, suficientes para descrever dados qualitativos, especialmente quando existem apenas duas ou três categorias.
Quando trabalhamos com variáveis quantitativas, um dos principais interesses está em resumir numericamente os dados, apresentando um ou mais valores que sejam representativos do comportamento do conjunto de observações. As medidas descritivas são utilizadas para resumir as informações contidas nos dados (quantitativos) com relação à centralidade e localização dos dados, bem como descrever como estes dados estão variando, além de visualizar a forma da sua distribuição de frequências.
As medidas que caracterizam algumas propriedades de uma amostra são chamadas estatísticas. As estatísticas mais importantes são as de posição (ou locação) e dispersão (ou variabilidade):
de posição: utilizadas para indicar a localização (posição) matemática das observações de conjunto de dados. As mais utilizadas são: média aritmética, moda e quartis (1\(^o\) quartil, 2\(^o\) quartil ou mediana e 3\(^o\) quartil).
de dispersão: utilizadas para indicar o grau de dispersão, variabiliade, das observações de conjunto de dados. As mais utilizadas são: variância, desvio-padrão, amplitude e coeficiente de variação.
Existem, também, medidas que fornecem informação quanto à forma da distribuição: simetria (coeficiente de assimetria) e achatamento (coeficiente de curtose), que não são tratadas neste material, para mais detalhes ver, por exemplo, Morettin e Bussab (2017Morettin, P. A., e W. O. Bussab. 2017. Estatística Básica. Editora Saraiva.).
Denotamos por \(X\) a variável de interesse e queremos observar uma amostra aleatória de tamanho \(n\), ou seja, temos o interesse de observar esta mesma variável \(n\) vezes. Desta forma, estatisticamente, denotamos por \(X_1\) o primeiro valor a ser observado da variável \(X\), \(X_2\) o segundo valor a ser observado, e assim sucessivamente, até \(X_n\) o \(n\) -ésimo valor a ser observado. Após observar os valores que a variável \(X\) assumiu, estes são denotados por \(x_1, x_2, \cdots, x_n\). Note que existe uma distinção entre as letras: as letras maiúsculas (\(X, X_1, X_2, \ldots\), \(X_n\)) referem-se à quantidades que ainda não foram observadas e letras minúsculas à quantidades já observadas, ou seja, aos dados (\(x, x_1, x_2, \ldots\), \(x_n\)).
Definimos a seguir as principais medidas de posição: média, mediana, moda, quartis, decis e percentis.
Média amostral: A média (aritmética), denotada por \(\bar{X}\), é definida por \[\bar{X} = \frac{X_1 + X_2 + \cdots + X_n}{n} = \frac{\sum_{i=1}^{n} X_i}{n}\]
A média é a estatística de posição mais utilizada pela facilidade de interpretação e de cálculo e, também, pelas ótimas propriedades estatísticas que fogem ao escopo deste material. A média representa o centro de gravidade do conjunto de dados e, sempre assumirá um valor entre o menor e o maior valor dos dados.
É importante notar que a média amostral refere-se a seu cálculo em relação a amostra. Caso a média fosse considerada para a população seria um parâmetro, ou seja:
\[\theta= \text{Média populacional} = \frac{X_1 + \cdots + X_N}{N} = \frac{\sum_{i=1}^{N} X_i}{N}\]
EXEMPLO: Denotando por \(X\) a variável tempo de conexão dos dados anteriores, a média amostral de \(X\) é dada por,
\[\bar{x} = \frac{1,16 + 2,55 + \cdots + 8,77 + 3,23}{15} = \frac{91,78}{15} \approx 6,1187\]
Podemos dizer que o tempo médio das quinze conexões é de 6,12 segundos, ou seja, as conexões se concentram em torno do valor 6,12 segundos. Assim, 6,12 é uma estimativa da média populacional do tempo médio das conexões.
Moda amostral: A moda, denotada por \(M_o\), é definida como sendo o valor com maior frequência, ou seja, a observação que ocorre o maior número de vezes entre as observações. É possível que um conjunto de dados ou amostra tenha mais do que uma moda. Além disso, é possível calcular a moda para dados qualitativos.
EXEMPLO: A moda amostral para a variável tempo de conexão para os dados anterioes é dada por 0,10, o qual ocorre duas vezes. A moda para a variável classificação é dada por ‘normal’, que ocorre 11 vezes, cerca de 73%.
Média aritmética ponderada: A média ponderada, \(\bar{X}_{p}\), consiste em considerar pesos diferentes para as observações. Assim, cada observação será multiplicada pelo seu respectivo peso. Seja \(p_1,p_2,\ldots,p_n\) os pesos respectivos e não negativos para \(X_1,\ldots,X_n\), temos que,
\[\bar{X}_p=\frac{p_1X_1+p_2X_2+\ldots+p_nX_n}{p_1+p_2+\ldots+p_n}=\frac{\sum_i^nX_ip_i}{\sum_{i=1}^np_i}\]
A noção de média ponderada tem um importante papel na Estatística e é utilizada em outras diversas metodologias. Se todos os pesos são iguais, então o valor da média ponderada é o mesmo da média aritmética.
Média geométrica: A média geométrica, \(\bar{X}_{G}\), para um conjunto de \(n\) observações é dada pela raiz \(n\)-ésima do produto de suas observações. É utilizada com mais frequência em dados que apresentam valores que aumentam de forma sucessiva.
\[\bar{X}_G=\sqrt[n]{X_1\times \ldots \times X_n}=\sqrt[n]{\prod_{i=1}^n X_i}\] Média harmônica: A média harmônica, \(\bar{X}_{H}\), para um conjunto de \(n\) observações é obtida dividindo o tamanho do conjunto de dados pela soma de seus inversos. Este tipo de média é indicada quando estamos trabalhando com grandezas inversamente proporcionais, por exemplo tempo e velocidade.
\[\bar{X}_H=\frac{n}{\frac{1}{X_1}+\ldots+\frac{1}{X_n}}=\frac{n}{\sum_{i=1}^n \frac{1}{X_i}}\]
Quartis, decis e percentis são conhecidas como estatísticas separatrizes. As estatísticas separatrizes dividem o conjunto de dados em um certo número de subgrupos com o mesmo número de observações.
As separatrizes são baseadas na ordenação crescente de um variável quantitativa, ou seja, ordenando os valores, do menor para o maior. Assim, temos que
\(X_{(1)}\) = o menor valor a ser observado no conjunto de dados;
\(X_{(2)}\) = o segundo menor valor a ser observado no conjunto de dados;
\(X_{(3)}\) = o terceiro menor valor a ser observado no conjunto de dados;
\(\vdots\)
\(X_{(n)}\)= o maior valor a ser observado no conjunto de dados.
Os valores \(X_{(i)}\) são conhecidos como estatística de ordem. Note que podemos indicar: \(X_{(1)}=\) valor mínimo a ser observado e \(x_{(n)}=\) valor máximo a ser observado. Da mesma forma, \(x_{(1)}=\) valor mínimo observado e \(x_{(n)}=\) valor máximo observado no conjunto de dados.
Os quartis são as medidas que, juntas, dividem uma variável em quatro partes. O primeiro quartil, detonado por \(Q_1\), como o nome já indica, é o valor que divide a variável de tal forma que a primeira parte contém as \(25\%\) menores observações e a segunda parte contém o restante das observações, ou seja, \(75\%\). O segundo quartil (\(Q_2\)) , também conhecido como mediana (\(\tilde{X}\)), é o valor que divide a variável em duas partes com a mesma quantidade de observações: a primeira com as 50% menores observações e a segunda parte com as \(50\%\) maiores das observações. Por fim, o terceiro quartil (\(Q_3\)) é o valor que divide a variável de tal forma que a primeira parte contém as \(75\%\) menores observações e a segunda parte contém o restante das observações, ou seja, \(25\%\).
No conjunto ordenado, realizamos o cálculo dos quartis através da contagem apropriada de observações. Existem até quinze métodos diferentes para cálculo dos quartis (Langford 2006Langford, Eric. 2006. «Quartiles in elementary statistics». Journal of Statistics Education 14 (3).), porém consideremos o método de Tukey (Tukey e others 1977Tukey, John W, e others. 1977. Exploratory data analysis. Vol. 2. Reading, MA.).
Para calcular a mediana (Moore 2003Moore, David S. 2003. The basic practice of statistics. Vol. 3. WH Freeman New York.):
Organize todas as observações em ordem, do menor para o maior (rol crescente).
Se o número de observações \(n\) for ímpar, a mediana \(\tilde{X}\) é a observação central na lista ordenada. Assim, encontre a localização da mediana por \(\frac{n + 1}{2}\).
\[\tilde{X}=X_{\left(\frac{n+1}{2} \right)}\]
\[\tilde{X}=\frac{1}{2} \left \{ X_{(n/2)}+X_{(n/2+1)} \right \}\]
Note que metade dos dados está à esquerda da mediana e a outra metade está à direita da mediana.
Para calcular os quartis (Moore 2003Moore, David S. 2003. The basic practice of statistics. Vol. 3. WH Freeman New York.):
Organize as observações em ordem crescente e localize a mediana geral, \(\tilde{X}\), na rol de observações.
O primeiro quartil, \(Q_1\), é a mediana das observações cuja posição na lista ordenada está à esquerda da localização da mediana geral.
O terceiro quartil, \(Q_3\), é a mediana das observações cuja posição na lista ordenada está à direita da localização da mediana geral.
Note que cerca de um quarto das observações estão à esquerda de \(Q_1\) e três quartos estão a direita de \(Q_1\). De mesma forma, três quartos das observações estão à esquerda de \(Q_3\) e um quarto das observações estão a direita de \(Q_3\).
Para a uma lista ordenada com relação a localização da mediana, o mais comum é o método inclusivo do método de Tukey, que considera a presença do valor da mediana em ambas as listas, à direita e à esquerda.
Além disso, dentre os diversos métodos para obtenção dos quartis, o método inclusivo do método de Tukey é o mais comum para ilustração didática. Os demais métodos possuem melhores resultados para amostras grandes. Assim, diferentes softwares, ou implementações nas linguagens para análise de dados, podem utilizar diferentes métodos para o cálculo dos quartis (Langford 2006Langford, Eric. 2006. «Quartiles in elementary statistics». Journal of Statistics Education 14 (3).).
EXEMPLO: Considerando a variável de taxa de sincronia, o rol é dado por
0.01 0.03 0.04 0.04 0.05 0.05 0.05 0.05 0.06 0.06 0.06 0.07 0.07 0.08 0.08
Assim, \(x_{(1)}=\) 0.01 e \(x_{(n)}=\) 0.08.
A mediana amostral é dada por
0.01 0.03 0.04 0.04 0.05 0.05 0.05 0.05 0.06 0.06 0.06 0.07 0.07 0.08 0.08
sendo \(\tilde{x}=Q_2=\) 0.05.
Os demais quartis amostrais são dados por
0.01 0.03 0.04 0.04 | 0.05 0.05 0.05 0.05 0.06 0.06 0.06 | 0.07 0.07 0.08 0.08
sendo \(Q_1=\frac{0.04+0.05}{2}=0.045\) e \(Q_3=\frac{0.06+ 0.07}{2}=0.065\).
Os percentis são valores que dividem, de uma forma geral, a variável de tal forma uma proporção de valores (porcentagem) seja menor ou igual ao percentil calculado e o restante seja maior que este percentil, ou seja, o percentil de ordem \(p\) com \(0<p<1\), é o valor \(P_p\) tal que \(100p\)% dos dados são menores ou iguais a \(P_p\) e os restantes \(100 (1-p)\)% dos dados são maiores ou iguais a \(P_p\). O percentil \(P_p\) é dado por,
\[P_p = X_{\left(p \times n \right)}\]
do conjunto de dados ordenados.
Note que \(P_{0,73}\) é o percentil 73% que implica que indica que há 73% das observações abaixo do valor \(P_{0,73}\). Uma outra terminologia largamente utilizada para o percentil é quantil. Note que o primeiro quartil (\(Q_1\)) é o percentil \(P_{0,25}\) que é o mesmo que dizer, quantil \(25\%\). Os decis são percentis que variam de 10% em 10%, ou ainda, os valores que dividem a variável em 10 partes, conjuntamente. Assim, os decis são formados por nove valores, respectivos aos percentis \(P_{0,1}\), \(P_{0,2}\), \(P_{0,3}\), \(\ldots\), \(P_{0,9}\).
Da mesma forma que a mediana pode ser chamada de segundo quartil (\(Q_2\)) também pode ser chamada de percentil 50%, quantil 50% ou, ainda, quinto decil.
É importante observar que a média é influenciada por pontos disprepantes ou outliers (valores que se distanciam dos demais, ou são muito grandes ou muito pequenos com relação aos demais). Neste caso, as vezes, é interessante utilizar a mediana, pois esta medida não é influenciada por tais valores.
Da mesma forma, as medidas separatrizes também podem ser cálculadas para a população. Esse assunto será abordado futuramente.
Diagrama de Pontos (Dotplot)
O Diagrama de Pontos, também conhecido como gráfico dotplot, é um gráfico baseado em frequência e, geralmente, aplicado a um conjunto de dados pequeno, com um tamanho amostral entre 20 e 30 observações.
A partir de sua análise, é possível perceber rapidamente valores máximo, mínimo, além de ser possível identificar como os dados estão distribuídos, bem como ter noção da localização de possíveis medidas de posição.
O gráfico dotplot para a variável taxa de sincronia é exibido abaixo.
Dotplot da variável taxa de sincronia
Diagrama de Caixa (Boxplot)
Através do gráfico boxplot, ou diagrama de caixa, podemos visualizar rapidamente o comportamento dos quartis de uma variável (\(Q1\), \(Q2\), \(Q3\)).
A Figura abaixo exibe o boxplot para a variável taxa de sincronia. Podemos dizer que esta variável apresenta grande concentração das observações entre \(Q1\) e \(Q2\).
Boxplot da variável taxa de sincronia
Os gráficos dotplot e boxplot são uteis para visualizar a distribuição geral dos dados, ou seja, são gráficos que condessam e exibem o comportamento geral dos dados baseado nas repetições de seus valores observados.
Desta forma, as distribuições podem ser classificadas com base em sua simetria, distribuições simétricas ou assimétricas.
A média e a mediana podem ser utilizadas para classificar a distribuição dos dados com relação à simetria.
Se \(\bar{X} > \tilde{X}\), ou seja, \(\bar{X} - \tilde{X} > 0\) a distribuição possui assimetria positiva e é chamada de assimétrica à direita.
Se \(\bar{X} < \tilde{X}\), ou seja, \(\bar{X} - \tilde{X} < 0\) a distribuição possui assimetria negativa e é chamada de assimétrica à esquerda.
\(\bar{X} \approx \tilde{X}\) , ou seja, \(\bar{X} - \tilde{X} \approx 0\), tem-se a ausência de assimetria, ou seja, a distribuição é chamada de simétrica.
A sequência de figuras abaixo exibe os gráficos dotplot e boxplot para diferentes distribuições.
Dotplot e boxplot para uma distribuição simétrica
Dotplot e boxplot para outro tipo de distribuição simétrica
Dotplot e boxplot para uma distribuição assimétrica à direita
Dotplot e boxplot para uma distribuição assimétrica à esquerda
## IMPORTANDO ARQUIVO EXTERNO .CSV
URL <- "https://raw.githubusercontent.com/"
pathGithub <- "andersonara/datasets/master/"
arquivo <- "amostra_servidor.csv"
dados <- read.csv(paste0(URL,pathGithub,arquivo),header=T,dec=',',sep=';')
#TABELA DE FREQUENCIAS
TAB1=table(dados$classificacao)
TAB2=table(dados$servico)
TAB1
##
## longa normal
## 4 11
TAB2
##
## http particular smtp
## 6 4 5
#GRÁFICO DE SETORES
pie(TAB1)
#GRÁFICO DE BARRAS
barplot(TAB2)
#MEDIDAS DE POSIÇÃO
mean(dados$bytes.env) #média
## [1] 2998.933
median(dados$bytes.env) #mediana
## [1] 1896
summary(dados$bytes.env) #5 números
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1690 1831 1896 2999 2723 8301
quantile(dados$bytes.env,0.1) #1o decil, quantil 10%
## 10%
## 1718.6
#DOTPLOT
stripchart(dados$bytes.env,method="stack")
#BOXPLOT
boxplot(dados$bytes.env,horizontal =T)
Como a linguagem Python não é específica para análise de dados, não possuí funções básicas nativas, por essa razão iremos utilizar três bibliotecas: pandas, numpy e matplotlib. Pandas é uma biblioteca específica para manipulação e análise de dados. Numpy possuí funções matemáticas para operar matrizes. Matplotlib é uma biblioteca para criação de gráficos em geral.
Para instalá-las siga o caminho no RStudio Tools > Terminal > New terminal e digite as seguintes linhas de comando:
pip install pandas
pip install numpy
pip install matplotlib
## IMPORTANDO BIBLIOTECA PANDAS
import pandas
## IMPORTANDO ARQUIVO EXTERNO .CSV
URL = "https://raw.githubusercontent.com/"
pathGithub = "andersonara/datasets/master/"
arquivo = "amostra_servidor.csv"
dados = pandas.read_csv(URL+pathGithub+arquivo,sep=";",decimal=',')
dados.head()
## conexao tempo classificacao ... bytes.rec taxa.sincronia login
## 0 1 1.16 normal ... 4236 0.05 sim
## 1 2 2.55 normal ... 4226 0.05 sim
## 2 3 1.42 normal ... 4057 0.04 sim
## 3 4 1.43 normal ... 4328 0.03 sim
## 4 5 0.10 normal ... 4290 0.04 nao
##
## [5 rows x 8 columns]
## TABELA DE FREQUÊNCIAS
dados.classificacao.value_counts()
## normal 11
## longa 4
## Name: classificacao, dtype: int64
#TABELA DE FREQUENCIAS
dados.servico.value_counts()
## http 6
## smtp 5
## particular 4
## Name: servico, dtype: int64
## IMPORTANDO BIBLIOTECA MATPLOTLIB
import matplotlib.pyplot as plt
TAB1=pandas.DataFrame(dados.servico.value_counts())
TAB1.plot.bar(y='servico')
plt.show()
TAB2=pandas.DataFrame(dados.login.value_counts())
TAB2.plot.pie(y='login')
plt.show()
## IMPORTANDO BIBLIOTECA NUMPY
import numpy as np
np.mean(dados['bytes.env'])
## 2998.9333333333334
np.median(dados['bytes.env'])
## 1896.0
np.quantile(dados['bytes.env'],0.1)
## 1718.6
dados['bytes.env'].describe()
## count 15.000000
## mean 2998.933333
## std 2212.134989
## min 1690.000000
## 25% 1831.000000
## 50% 1896.000000
## 75% 2723.000000
## max 8301.000000
## Name: bytes.env, dtype: float64
plt.boxplot(dados['tempo'],vert=False)
## {'whiskers': [<matplotlib.lines.Line2D object at 0x0000000065244CD0>, <matplotlib.lines.Line2D object at 0x0000000065244FA0>], 'caps': [<matplotlib.lines.Line2D object at 0x0000000065245270>, <matplotlib.lines.Line2D object at 0x0000000065245540>], 'boxes': [<matplotlib.lines.Line2D object at 0x0000000065244A00>], 'medians': [<matplotlib.lines.Line2D object at 0x0000000065245810>], 'fliers': [<matplotlib.lines.Line2D object at 0x0000000065245AE0>], 'means': []}
plt.show()