R - LIG-06 Análise Exploratória de Dados - 2006. Objetivos da aula Apresentar um método para a...

Preview:

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

Recommended