A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

ANÁLISE EXPLORATÓRIA DE DADOS R – Histograma e Ramo-e-Folhas.

Apresentações semelhantes


Apresentação em tema: "ANÁLISE EXPLORATÓRIA DE DADOS R – Histograma e Ramo-e-Folhas."— Transcrição da apresentação:

1 ANÁLISE EXPLORATÓRIA DE DADOS R – Histograma e Ramo-e-Folhas

2 Objetivos: trabalhar com dados quantitativos contínuos; especificar intervalos de classe; construir histogramas; construir mais de um gráfico na mesma janela.

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

4 Exemplo (continuação) Os dados deste exemplo podem ser obtidos como: dados<-read.table(m:\\aed\\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 QUANTITATIVAS 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.

7 VARIÁVEIS QUANTITATIVAS 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])

8 VARIÁVEIS QUANTITATIVAS 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.

9 VARIÁVEIS QUANTITATIVAS 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.

10 VARIÁVEIS QUANTITATIVAS 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.

11 Uso da função hist 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).

12 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). 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.

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

14 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,main= Histograma dos pesos,xlab=kg,ylab =dens.freq.rel, col=blue)

15 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).

16 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))

17 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.

18 Exemplo (continuação) hist1 com freq=F $breaks (LIMITES DOS INTERVALOS DE CLASSE) [1] $counts (FREQÜÊNCIAS ABSOLUTAS DOS INTERVALOS DE CLASSE) [1] $intensities [1] $density (densidade de freqüência relativa=freq.rel/amp.do intervalo) [1] $mids (PONTOS MÉDIOS DOS INTERVALOS DE CLASSE) [1] $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"

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

20 Exemplo (continuação) > hist2 $breaks [1] $counts [1] $intensities [1] $density [1] $mids [1] $xname [1] "dados$peso" $equidist [1] TRUE attr(,"class") [1] "histogram"

21 O que mudou? freq=F freq=T

22 Observações Se os intervalos de classe tiverem amplitudes desiguais, será obrigatório usar o argumento freq=F. Caso contrário, o R retornará com uma mensagem de erro. Warning message: the AREAS in the plot are wrong -- rather use `freq=FALSE'! in: plot.histogram(r, freq = freq, col = col, border = border, angle = angle,

23 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.

24 Ramo e folhas de peso Para estudarmos outras possibilidades de intervalos para o histograma de pesos, é interessante aqui pedir uma ramo-e-folhas dos pesos: stem(dados$peso). The decimal point is 1 digit(s) to the right of the | 5 | 79 6 | | | | | | | 4 9 | 6

25 Construindo 9 intervalos de classe A amplitude amostral é aproximadamente 97-56=41 Observe que ficaremos com uma amplitude total igual à 45, 4 a mais da verificada. Podemos então repartir o excesso igualmente para cima e para baixo, começando com 54 e terminando em 99: hist(dados$peso,breaks=c(54,59,64,69,74,79,84,89,94,99), col=palegreen,main=Histograma dos pesos,xlab=kg, ylab=dens.freq.rel.,freq=F) Para 9 intervalos, podemos calcular 41/9 que é , e arredondando para 5 temos as amplitudes das classes.

26 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.

27 Construa o histograma usando 8 intervalos de classe. Sugestão: breaks=c(53.5,59.5,65.5,71.5,77.5,83.5,89.5,95.5,101.5)

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

29 Outros argumentos da função hist right: valor lógico; se right=T, os intervalos serão fechados à direita e abertos à esquerda. Se right=F, os intervalos serão abertos à direita e fechados à esquerda. density: densidade das linhas que preenchem os retângulos. O default é 'NULL, implicando que nenhuma linha é desenhada. Valores não- positivos de density' também inibem o desenho das linhas.

30 Argumento density Inserindo o argumento density=4, obtemos

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

32 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)

33 Ramo-e-folhas das alturas 14 | | | | | | 4 Amplitude amostral aproximada: =55 cm Amplitude dos intervalos: 55/9= cm Arredondamos para 7 7*9=63 (8 a mais)

34 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)

35 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.

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

37

38

39 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.

40 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.

41 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))

42

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

45 Principais comandos da aula 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.


Carregar ppt "ANÁLISE EXPLORATÓRIA DE DADOS R – Histograma e Ramo-e-Folhas."

Apresentações semelhantes


Anúncios Google