Upload
internet
View
107
Download
1
Embed Size (px)
Citation preview
R - LIG-06
Análise Exploratória de Dados - 2006
Objetivos da aula Apresentar um método para a determinação
aproximada de quantis para dados não-agrupados e usar a função quantile do R;
definir o esquema dos cinco números e apresentar e construir um boxplot (gráfico-caixa) de um conjunto de dados.
Determinação dos quantis usando o R A função apropriada do R para obter os
quantis de um vetor numérico x é a função quantile.
Se x é o vetor contendo os dados, e desejamos determinar os três quartis, pedimos quantile(x,c(0.25,0.5,0.75))
Se desejamos o quinto e o nonagésimo-quinto percentis, pedimos quantile(x,c(0.05,0.95))
Em geral, q(p) quantile(x,p), que retorna o quantil de ordem p dos dados em x.
Exemplo 1: Emissão de Dióxido de Carbono Os dados no arquivo dados13bm.txt
fornecem emissões de dióxido de carbono "per capita", para uma amostra de 72 países. Os dados são do ano de 1995.
Fonte: Stabilizing The Atmosphere: Population, Consumption and Greenhouse Gases.
Exemplo 1: Emissão de Dióxido de Carbono (cont.) Determine os três quartis, os decis, a
média e o desvio-padrão das emissões registradas para os 72 países em 1995.
Exemplo 1: Emissão de Dióxido de Carbono (cont.) dados<-read.table(”http://www.im.ufrj.br/~flavia/aed06/
dados13bm.txt",header=T)
names(dados) "pais" "emissao" quantile(dados$emissao,c(0.25,0.5,0.75)) 25% 50% 75% 0.0675 0.4150 1.4725 quantile(dados$emissao,c(.1,.2,.3,.4,.5,.6,.7,.8,.9))
10% 20% 30% 40% 50% 60% 70% 80% 90% 0.02 0.05 0.14 0.28 0.42 0.87 1.26 1.99 3.02
Histograma das emissões
Observe que a distribuição defreqüências de dados sobre emissãoapresenta forte assimetria positiva
Observe também que há uma classe sem representantes nessadistribuição
Histograma das emissões: sugerindo 10 intervalos: (0,0.33,0.67,1,1.33,1.67,2,3,4,6,10)
Observe que nessa figura tem-seQ2-Q1<Q3-Q2 Q2-x(1)<<x(n)-Q2Q1-x(1)<<x(n)-Q3
Dados não-agrupados: cálculo aproximado dos quantis Passo 1: Ordene a amostra de modo a ter as
estatísticas de ordem:
)()2()1( ... nxxx
nin
ippx iii ,...,1,
5.0 com),,( )(
Considere os pontos da forma:
Por exemplo, se n=20i pi
1 0.025
2 0.075
3 0.125
4 0.175
5 0.225
6 0.275
7 0.325
8 0.375
9 0.425
10 0.475
11 0.525
12 0.575
13 0.625
14 0.675
15 0.725
16 0.775
17 0.825
18 0.875
19 0.925
20 0.975
nin
ipi ,...,1,
5.0
Dados não-agrupados (cont.)
1 ii ppp
),(e),( 1)1()( iiii pxpx
Passo 2: Determine i tal que:
Passo 3: Obtenha a reta que passa pelos pontos:
Passo 4: Calcule a abscissa do ponto pertencente à retaobtida no passo 2, cuja ordenada é p.
)()(1
)()1()( i
ii
iii pp
pp
xxxpq
Exemplo Considere novamente obter uma aproximação do terceiro
quartil. Observe que
.54quetal757,072
5.05575.0
72
5.054743,0
i
Logo, consideramos os pontos (1,45 , 53,5/72) e (1,54 , 54,5/72).
A reta é obtida, e encontramos q(0,75) como 1,495
495,1)72/5,5375,0(72/5,5372/5,54
)45,154,1(45,1)75,0(
q
)54(x
)55(x
Esquema dos cinco números É uma lista de informações da distribuição
que inclui cinco medidas, a saber, x(1), Q1, Q2, Q3 e x(n).
Estes cinco valores são importantes para se ter uma boa idéia da assimetria dos dados.
Esquema dos cinco números Para uma distribuição simétrica ou
aproximadamente simétrica, deveríamos ter: (a) Q2- x(1) x(n)-Q2; (b) Q2-Q1 Q3-Q2; (c) Q1- x(1) x(n)-Q3; (d) distâncias entre mediana e Q1, mediana e Q3 menores do que distâncias entre os extremos e Q1, Q3.
Histograma alisadode uma distribuição simétrica unimodal
Comandos summary() e fivenum() O R possui uma função que retorna as
informações do esquema dos cinco números: fivenum(x), se x é o vetor que contém os dados.
Exemplo: fivenum(dados$emissao) [1] 0.000 0.065 0.415 1.495 8.440
mínimo máximo
Q1 Q2 Q3
Comandos summary() e fivenum() summary(dados$emissao) Min. 1st Qu. Median Mean 3rd Qu. Max. 0.0000 0.0675 0.4150 1.1740 1.4730 8.4400
O comando summary(x), quando x é um vetor numérico, produz as informações do esquema dos cinco números e a média.
Desenho Esquemático (Box Plots) A informação contida no esquema dos
cinco números pode ser traduzida graficamente num diagrama, conhecido como box plot (também chamado de gráfico-caixa).
A figura a seguir, ilustra o boxplot.
Boxplot O retângulo no boxplot é traçado de tal
maneira que suas bases têm alturas correspondentes aos primeiro e terceiro quartis da distribuição.
O retângulo é cortado por um segmento paralelo às bases, na altura correspondente ao segundo quartil.
Assim, o retângulo do boxplot correponde aos 50% valores centrais da distribuição.
Cosntruindo o boxplot Depois de desenhado o retângulo, traça-se
um segmento paralelo ao eixo, partindo do ponto médio da base superior do retângulo até o maior valor observado que NÃO supera o valor de Q3+(1,5)DEQ.
O mesmo é feito a partir do ponto médio da base inferior do retângulo, até o menor valor que NÃO é menor do que Q1-(1,5)DEQ.
Fechando o boxplot As observações que estiverem acima de
Q3+(1,5)DEQ ou abaixo de Q1-(1,5)DEQ são chamadas pontos exteriores e representadas por asteriscos.
Essa observações destoantes das demais podem ser o que chamamos de outliers ou valores atípicos.
Observações Não necessariamente
haverá a presença de pontos exteriores num boxplot.
Quando for este o caso, o esquema terá a seguinte aparência:
A função boxplot no R Experimente pedir ao R para construir um
boxplot dos dados sobre emissões de dióxido de carbono: boxplot(dados$emissao)
Alguns argumentos da função boxplot Observação: é possível construir vários
boxplots na mesma função. boxwex: controla a largura dos retângulos
no boxplot. O default é 0.8. outline: valor lógico. Se T, os pontos
exteriores são assinalados (default). Se F, os pontos exteriores não são assinalados
Exemplo 2 Vamos trabalhar com os dados sobre
salários para diferentes profissões/formações do conjunto dados6bm.txt.
dados<-read.table(“http://www.im.ufrj.br/~flavia/aed06/dados6bm.txt”,header=T)
Há quatro profissões diferentes, a saber, nivelmedio, mecanico, administrador, engeletrico.
boxplot(dados[,2],dados[,3],dados[,4],dados[,5], names=c(“nivel medio”,”mecanico”,”administrador”,”eng.eletrico”))
1 – nível médio2 – mecânico3 – administrador4 – Eng. Elétrico
Corescol - cor de preenchimento dos retângulos
Boxplots horizontais horizontal - valor
lógico, se T o boxplot fica na posição horizontal. Se F (default) fica na posição vertical.
Outros argumentos ylim: controla a escala de valores main: título sub: sub-título names: vetor com os rótulos dos conjuntos
de dados, quando são pedidos mais de um boxplot.
pch: específica o caracter a ser usado nos pontos exteriores. Ex.: pch=“*”.
Exemplo 3: No domingo, dia 4 de abril de 2004, o
jornal O Globo publicou uma reportagem sobre o dinheiro da União disponível para investimentos nas prefeituras em 2004.
Nesta reportagem, foram publicados os dados sobre 25 capitais, os partidos dos prefeitos destas capitais, o número de habitantes e o total em reais disponível.
Exemplo 3 (cont.) Estes dados foram armazenados no
arquivo dadosaula6.txt com o número de habitantes em milhares e o investimento em milhares de reais.
Os nomes atribuídos às variáveis foram: cidade, partido, hab1000 e invest1000.
Exemplo 3 (cont.) dados<-read.table(“http://www.im.ufrj.br/~flavia/aed06/
dadosaula6.txt",header=T)
Construa o boxplot dos investimentos.
Construa também um boxplot do número de habitantes.
Olhando para a razão investimento sobre número de habitantes você diria que foi justa esta distribuição?
O título da reportagem no jornal foi Aos amigos, mais dametade.
Você concorda com este título? Por que?
Ordenando os dados por partido:indice<-order(dados$partido)# indice é um vetor que receberá as posições da base de dados # ordenadas por partido
dadosord<-dados[indice,]# dadosord receberá toda a informação de dados, só que agora# suas linhas estão ordenadas por partido
Depois de ordenar os dados por partido em dadosord,é possível ver que de 1 a 17 tem-se outros partidos ede 18 a 25 tem-se o PT.
resumo<-matrix(0,2) #variável que vai receber o total # de investimentos, na posição 1: outros partidos# na posição 2: PTresumo[1]<-sum(dadosord$invest1000[1:17])resumo[2]<-sum(dadosord$invest1000[18:25])total<-resumo[1]+resumo[2]parcial<-matrix(0,2)#variável que vai receber o percentual# de investimentos, na posição 1: outros partidos# na posição 2: PTparcial<-resumo/total
CÁLCULO DOS PERCENTUAIS INVESTIDOS EM CAPITAIS DO PT E DE OUTROS PARTIDOS EM RELAÇÃO AO TOTAL DE INVESTIMENTOS:
Resultadoparcial[1] 0.4077745 0.5922255