1 / 49

ANÁLISE EXPLORATÓRIA DE DADOS

ANÁLISE EXPLORATÓRIA DE DADOS. Aula lig-03. Objetivos. Trabalhar com dados quantitativos contínuos: especificar intervalos de classe; construir histogramas; construir ramo-e-folhas. Exemplo 1: Tipo sangüíneo, peso (em Kg) e altura (em cm). A base de dados que será

iliana
Download Presentation

ANÁLISE EXPLORATÓRIA DE DADOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ANÁLISE EXPLORATÓRIA DE DADOS Aula lig-03

  2. Objetivos • Trabalhar com dados quantitativos contínuos: • especificar intervalos de classe; • construir histogramas; • construir ramo-e-folhas.

  3. Exemplo 1: Tipo sangüíneo, peso (em Kg) e altura (em cm). A base de dados que será trabalhada hoje contém a informaçao de 100 indivíduos sobre tipo sangüíneo, peso (kg) e altura (cm). Forma dos dados na planilha com 100 linhas e três colunas. arquivo: dados1.txt Fonte: dados fictícios.

  4. Exemplo (continuação) Os dados deste exemplo podem ser obtidos como: dados=read.table(“http://www.im.ufrj.br/~flavia/aed06/dados1.txt”) Observe que aqui, não usamos o argumento header=T, pois os nomes das variáveis não estão no arquivo de dados. Mas, se preferirmos, podemos definir os nomes das variáveis em dados. names(dados)<-c(“tsangue”,”peso”,”altura”)

  5. Acesso aos valores • Assim, você pode se referir às colunas desta base tanto usando dados[,n], em que n é o número da coluna desejada, como dados$nomedavariável. • Por exemplo, para ver o conteúdo da coluna 1, podemos tanto usar dados[,1] como dados$tsangue.

  6. VARIÁVEIS QUALITATIVAS: GRÁFICO DE SETORES pie(table(dados[,1]),main=” Distribuição de freqüências do tipo sangüíneo", col= c("blue",”blue4",”green",”green4"))

  7. VARIÁVEIS QUALITATIVAS: GRÁFICO DE BARRAS barplot(table(dados$tsangue),col="red",main= "Distribuição de freqüências de tipo sangüíneo")

  8. VARIÁVEIS QUALITATIVAS: GRÁFICO DE BARRAS barplot(table(dados$tsangue),col="red",main= "Distribuição de freqüências de tipo sangüíneo”,ylim=c(0,40))

  9. VARIÁVEIS QUANTITATIVAS (1) • Veremos agora como construir a distribuição de freqüências de uma variável quantitativa. • Para isso usaremos os dados do exemplo referentes ao peso e à altura dos indivíduos.

  10. VARIÁVEIS QUANTITATIVAS (2) • Se você pedir table(dados[,2]) ou table(dados[,3]) o efeito da saída será quase que reproduzir os valores observados de forma ordenada. table(dados[,2]) 57.1 59 61.4 61.9 62.1 62.4 62.8 63.3 63.9 64.2 64.8 66.1 66.3 66.7 67.6 67.8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 68 68.1 68.9 69.4 69.9 70.1 70.2 70.4 70.9 71.2 71.3 71.5 71.7 71.9 72.1 72.2 1 2 1 1 1 2 2 1 3 1 1 2 1 2 1 1 72.6 73.2 73.4 73.7 74.1 74.6 74.9 75.2 75.3 76 76.3 76.5 76.9 77 77.5 77.6 2 2 1 2 1 4 1 1 1 2 1 1 2 1 1 1 77.8 77.9 78.2 78.4 78.5 78.6 79.1 79.5 79.8 80 80.5 80.6 80.7 80.8 80.9 81.1 2 1 1 1 1 1 2 1 1 1 1 1 3 1 1 1 81.2 81.3 81.7 82.2 82.4 82.7 82.8 83.2 84.3 85 86 86.1 86.7 94.4 95.8 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1

  11. VARIÁVEIS QUANTITATIVAS (3) • Portanto, o comando table não é, em geral, útil para dados contínuos. Ele talvez poderá ser útil se estivermos trabalhando com uma variável discreta cuja quantidade de respostas possíveis é pequena.

  12. VARIÁVEIS QUANTITATIVAS (4) • Vimos que no caso de dados contínuos, há a necessidade de se definir primeiro intervalos de classe para depois, construir a tabela de freqüências e, então, usá-la para construir o histograma. • O R possui uma função que pode gerar esta distribuição de forma automática.

  13. VARIÁVEIS QUANTITATIVAS (5) • Esta função também tem a flexibilidade de nos permitir fixar os intervalos ou sugerir o número de intervalos. • Esta mesma função também gera o histograma dos dados e seu nome no R é hist.

  14. Uso da função hist (1) hist package:base R Documentation Histogramas Descrição: a função genérica `hist' constrói um histograma de valores dados. Se o argumento `plot=TRUE', a saída é um histograma. Como usar: hist(x, ...) hist.default(x, breaks = "Sturges", freq = NULL, probability = !freq, include.lowest = TRUE, right = TRUE, density = NULL, angle = 45, col = NULL, border = NULL,main = paste("Histogram of" , xname), xlim = range(breaks), ylim = NULL, xlab = xname, ylab, axes = TRUE, plot = TRUE, labels = FALSE, nclass = NULL, ...) A seguir veremos como usar a função hist e seus principais argumentos.

  15. Uso da função hist (2) Para começar peça a função hist apenas com o argumento obrigatório que é um vetor contendo os valores para os quais queremos construir o histograma, isto é, peça hist(dados$peso).

  16. Argumentos da função hist Argumentos: x (obrigatório): vetor de valores para os quais deseja-se construir o histograma. breaks (opcional): um entre * vetor fornecendo os limites dos intervalos de classe, * número fornecendo o número de intervalos (é apenas uma sugestão). right (opcional): lógica; se `right=T‘(default), as classes são fechadas à direita e abertas à esquerda. Se ‘ right=F´, as classes são fechadas à esquerda e abertas à direita.

  17. Argumentos da função hist • freq (opcional): lógica; se `freq=T', o histograma é uma representação da distribuição na escala das freqüências absolutas, se `freq=F', é uma representação na escala da densidade de freqüência relativa, que é definida como a razão entre freqüência relativa e a amplitude da classe. • Observação: O Defaul da versão atual do R é usar freq=T, quando as classes têm amplitudes iguais e freq=F, quando as classes têm amplitudes desiguais.

  18. Exemplo: argumentos breaks e freq hist(dados$peso,breaks=c(50,60,70,80,90,100),right=F,freq=F)

  19. Exemplo (continuação) Para melhorar o gráfico podemos definir o título e os rótulos para os eixos ox e oy. hist(dados$peso,breaks=c(50,60,70,80,90,100),freq=F,right=F,main= “Histograma dos pesos”,xlab=“kg”,ylab=“dens.freq.rel”, density=6,col=“blue”)

  20. Mudando a escala dos eixos • Comandos xlim e ylim. • Para visualizar o eixo 0x de 40 até 110kg, inclua o argumento xlim=c(40,110). • Para visualizar o eixo 0y de 0 até 0.06, quando freq=F, inclua o argumento ylim=c(0,0.06).

  21. Exemplo (continuação) hist(dados$peso,breaks= c(50,60,70,80,90,100), freq=F,main="Histograma dos pesos",xlab=“kg", ylab="dens.freq.rel", col="gray",xlim=c(40,110), ylim=c(0,0.06))

  22. Exemplo (continuação) A função hist gera um objeto do R. Assim podemos criar uma variável que recebe o objeto gerado por hist. Por exemplo, faça hist1<-hist(dados$peso,breaks=c(50,60,70,80,90,100),freq=F,main=“...”) Depois, liste o conteúdo de hist1.

  23. Exemplo (continuação) hist1 com freq=F $breaks (LIMITES DOS INTERVALOS DE CLASSE) [1] 50 60 70 80 90 100 $counts (FREQÜÊNCIAS ABSOLUTAS DOS INTERVALOS DE CLASSE) [1] 2 20 53 23 2 $intensities [1] 0.001999996 0.020000000 0.053000000 0.023000000 0.002000000 $density (densidade de freqüência relativa=freq.rel/amp.do intervalo) [1] 0.001999996 0.020000000 0.053000000 0.023000000 0.002000000 $mids (PONTOS MÉDIOS DOS INTERVALOS DE CLASSE) [1] 55 65 75 85 95 $xname (NOME DO EIXO 0x) [1] "dados$peso" $equidist (VARIÁVEL LÓGICA INFORMANDO SE AS AMPLITUDES DOS INTERVALOS DE CLASSE SÃO IGUAIS (TRUE) OU DESIGUAIS (FALSE)). [1] TRUE attr(,"class") [1] "histogram"

  24. Exemplo (continuação) Repita agora os mesmos passos com hist2<-hist(dados$peso,breaks=c(50,60,70,80,90,100),freq=T,main=“...”)

  25. Exemplo (continuação) > hist2 $breaks [1] 50 60 70 80 90 100 $counts [1] 2 20 53 23 2 $intensities [1] 0.001999996 0.020000000 0.053000000 0.023000000 0.002000000 $density [1] 0.001999996 0.020000000 0.053000000 0.023000000 0.002000000 $mids [1] 55 65 75 85 95 $xname [1] "dados$peso" $equidist [1] TRUE attr(,"class") [1] "histogram"

  26. O que mudou? freq=F freq=T

  27. Argumentos xlim e ylim • Estes dois argumentos são muito úteis quando queremos comparar diversos histogramas. • Para uma comparação é necessário trabalhar com escalas iguais.

  28. Ramo e folhas de peso • Para estudarmos outras possibilidades de intervalos para o histograma de pesos, será útil construir um ramo-e-folhas dos pesos: stem(dados$peso). The decimal point is 1 digit(s) to the right of the | 5 | 79 6 | 12223344 6 | 56678888899 7 | 00000011111222222233333444 7 | 5555555666777788888889999 8 | 000111111111122223334 8 | 56667 9 | 4 9 | 6

  29. Construindo 9 intervalos de classe A amplitude amostral é aproximadamente 96-57=39 Para 9 intervalos podemos calcular 39/9 que é 4.333..., e arredondando para 4,5 temos as amplitudes das classes. Observe que ficaremos com uma amplitude total igual à 9x4,5=40,5, que equivale quase 2 a mais. Podemos então repartir o excesso igualmente para cima e para baixo, começando com 56 e terminando em 97: hist(dados$peso,breaks=c(56,60.5,65,69.5,74,78.5,83,87.5,92,96.5), right=F,col=“palegreen”,main=“Histograma dos pesos”,xlab=“kg”, ylab=“dens.freq.rel.”,freq=F,ylim=c(0,0.06))

  30. Numa distribuição de freqüências, não deve haver classes intermediárias vazias! Portanto, essa distribuição deve ser refeita. Possibilidades: sugerir 8 intervalos ou juntar as duas classes finais, passando a ter classes de amplitudes desiguais.

  31. Construa o histograma usando 8 intervalos de classe. Sugestão:breaks=c(56,60.5,65,69.5,74,78.5,83,87.5,96.5)

  32. Continuação Sugestão: breaks=8 Lembre que 8 é apenas uma sugestão para o número de classes.

  33. Argumento density Inserindo o argumento density=4, obtemos

  34. Outros argumentos Sugerimos que os demais argumentos da função hist sejam explorados por vocês.

  35. Exemplo 2 (alturas) • Construa agora um histograma das alturas (cm), especificando os limites dos intervalos, considerando 9 intervalos. • Passo 1: Magnitude dos dados para avaliar amplitude. • Sugestão: Ramo-e-folhas. • stem(dados$altura)

  36. Ramo-e-folhas das alturas 14 | 1399 15 | 024555666799 16 | 0111222222334444445555666666666778888899999 17 | 0000111111222233345556667777 18 | 001222223349 19 | 4 Amplitude amostral aproximada: 195-140=55 cm Amplitude dos intervalos: 55/9=6.1111...cm Arredondamos para 7 7*9=63 (8 a mais)

  37. Intervalos de classe hist(dados[,3],breaks=c(137, 144,151,158,165,172,179, 186,193,200),ylab=“dens. freq. Rel.”,main=“ Histograma das alturas”,xlab=“cm”,density=4)

  38. ATIVIDADE 1) Construa agora o histograma das alturas com 7 intervalos de classe. 2) calcule a média das alturas nesta amostra e localize-a no histograma obtido no item 2.

  39. Histograma com 7 classes Amplitude amostral aproximada: 195-140=55 cm Amplitude dos intervalos: 55/7->7.85cm Arredondamos para 8. breaks=c(139.5,147.5,155.5,163.5,171.5,179.5,187.5,195.5)

  40. Comando par(mfrow=c(l,n)) • É possível construir vários histogramas numa única janela de gráfico. • Por exemplo, se quisermos apresentar o histograma das alturas e o histograma dos pesos numa mesma janela, antes de pedir os histogramas, devemos informar que a janela conterá dois gráficos. • Podemos configurar a janela com dois gráficos numa única linha ou dois gráficos numa única coluna.

  41. Comando par(mfrow=c(l,n)) • par(mfrow=c(1,2)) # uma linha duas colunas ou • par(mfrow=c(2,1)) # duas linhas uma coluna. • Depois é só pedir os respectivos histogramas.

  42. par(mfrow=c(1,2)) hist(dados$peso, main="Histograma dos pesos",xlab="Kg",freq=F, ylab="densidade de freq. rel.",ylim=c(0,0.07),xlim=c(50,110)) hist(dados$altura, main="Histograma das alturas",xlab="cm",freq=F, ylab="densidade de freq. rel.",ylim=c(0,0.06),xlim=c(130,200))

  43. par(mfrow=c(2,1)) hist(dados$peso, main="Histograma dos pesos",xlab="Kg",freq=F, ylab="densidade de freq. rel.",ylim=c(0,0.07),xlim=c(50,110)) hist(dados$altura, main="Histograma das alturas",xlab="cm",freq=F, ylab="densidade de freq. rel.",ylim=c(0,0.06),xlim=c(130,200))

  44. Janelas de gráfico simultâneas: Para abrir uma NOVA janela de gráfico, usa-se o comando: win.graph() Para fechar uma janela de gráfico, usa-se o comando: dev.off()

  45. read.table (para ler bases de dados multivariadas) names (para definir nomes das variáveis que compõem o objeto) hist (constrói um histograma) stem (constrói um ramo-e-folhas) par(mfrow=c(r,s)) (especifica que deverão entrar na janela rs figuras em r linhas e s colunas) Argumentos importantes da função hist: main=“Título do Gráfico”,sub=“sub-título para o gráfico”, ylim=c(min,max) escala do eixo y, ylab=“rótulo para o eixo”, (xlim e xlab), etc. Principais comandos da aula

More Related