an lise explorat ria de dados 2006 1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Análise Exploratória de Dados 2006/1 PowerPoint Presentation
Download Presentation
Análise Exploratória de Dados 2006/1

Loading in 2 Seconds...

play fullscreen
1 / 50

Análise Exploratória de Dados 2006/1 - PowerPoint PPT Presentation


  • 123 Views
  • Uploaded on

Análise Exploratória de Dados 2006/1. Aula lig-02 Variáveis Qualitativas. Exemplo 1: Tipo Sangüíneo. Registrou-se o tipo sangüíneo de 40 doadores voluntários de sangue em um dia. Os dados estão no arquivo tiposangue.txt.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Análise Exploratória de Dados 2006/1' - jacob


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
an lise explorat ria de dados 2006 1

Análise Exploratória de Dados 2006/1

Aula lig-02

Variáveis Qualitativas

exemplo 1 tipo sang neo
Exemplo 1: Tipo Sangüíneo
  • Registrou-se o tipo sangüíneo de 40 doadores voluntários de sangue em um dia.
  • Os dados estão no arquivo tiposangue.txt.
  • Esta base de dados é univariada. Podemos, portanto, usar o comando scan.
exemplo 1 continua o
Exemplo 1: (continuação)
  • dados<-scan(“m:\\aed\\tiposangue.txt”,what=“character”)
  • O argumento what=“character”, no comando acima, serve para informar que o tipo de informação que será lida são caracteres não-numéricos.
  • Problema: Descrever estes dados numa tabela de freqüências e representá-los graficamente usando o R.
exemplo 1 continua o1
Exemplo 1: (continuação)
  • > dados
  • [1] "O" "O" "A" "B" "A" "O" "A" "A" "A" "O" "B" "O" "B" "O" "O"
  • [16] "A" "O" "O" "A" "A" "A" "A" "AB" "A" "B" "A" "A" "O" "O" "A"
  • [31] "O" "O" "A" "A" "A" "O" "A" "O" "O" "AB"
comando sort
Comando sort
  • Você pode ordenar a informação na base dados usando o comandosort que rearruma as informações de maneira ordenada. No caso destes dados ele usa a ordem alfabética como chave.
  • Você ainda pode escolher se deseja ordem crescente (default) ou decrescente, acrescentando o argumento decreasing=T.
  • sort(dados) [1] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" [16] "A" "A" "A" "AB" "AB" "B" "B" "B" "B" "O" "O" "O" "O" "O" "O" [31] "O" "O" "O" "O" "O" "O" "O" "O""O" "O"
comando table
Comando table
  • Os conjunto de dados que estamos trabalhando é de tamanho pequeno, e com o auxílio do comando sort poderíamos perfeitamente contar os casos de cada tipo possível de resposta.
  • Porém, esta solução não é razoável se nosso conjunto de dados for de tamanho médio ou grande.
  • O comando table resolve este problema para qualquer tamanho de conjunto de dados.
comando table1
Comando table

dados

A AB B O

18 2 4 16

  • > table(dados)

Freqüências

absolutas

Freqüências relativas:

table(dados)/sum(table(dados))

dados

A AB B O

0.45 0.05 0.10 0.40

Porcentagens:

table(dados)*100/sum(table(dados))

dados

A AB B O

45.0 5.0 10.0 40.0

gr fico de setores
Gráfico de Setores
  • Veremos agora como construir um gráfico de setores para estes dados.
  • O comando pie(table(dados)) produzirá um gráfico de setores caracterizando a distribuição de freqüências das respostas em dados.
detalhes do comando pie
Detalhes do comando pie
  • Podemos configurar alguns detalhes no gráfico anterior como cores, títulos e legendas.
  • Vamos usar o help para saber como realizar estas configurações. help(pie).
detalhes do comando pie cont
Detalhes do comando pie (cont.)

pie package:base R Documentation

Pie Charts (Gráfico de setores)

Descrição: Desenha um gráfico de setores.

Uso:

pie(x, labels = names(x), edges = 200, radius = 0.8,

density = NULL, angle = 45, col = NULL, border = NULL, lty = NULL,

main = NULL, ...)

Argumentos:

1. x: um vetor de quantidades positivas. Os valores em 'x' representam a proporção das

áreas dos setores no gráfico. (OBRIGATÓRIO.)

2. labels: um vetor de caracteres fornecendo nomes para os setores. (Não é obrigatório.)

3. edges: um inteiro. A linha do círculo é aproximada por um polígono com este número

de lados.

4. radius: o gráfico é desenhado centrado num quadrado cujos lados variam de -1 à 1. Se os

rótulos dos setores forem longos pode ser necessário usar um raio menor. (default: radius=0.8).

detalhes do comando pie cont1
Detalhes do comando pie (cont.)

5. col: um vetor de cores a serem usadas no preenchimento dos setores. Se ausente, será usado um conjunto de cores pastéis.

6. main: Título para o gráfico.

A função colors() lista o nome das 657 cores possíveis: (exemplos)

"white" "aliceblue" "antiquewhite" "antiquewhite1" "antiquewhite2"

"aquamarine" "aquamarine1" "aquamarine2” "azure" "azure4" "beige"

"bisque" "black" "blanchedalmond" "blue" "blue1" "blueviolet"

"brown" "burlywood" "cadetblue" "chartreuse" "chocolate" "coral"

"cornflowerblue" "cornsilk" "cyan" "darkblue" "darkcyan" "darkgoldenrod"

"gray"

"thistle" "tomato" "turquoise" "violet" "yellowgreen"

alguns exemplos pie
Alguns exemplos: pie

pie(table(dados),col=c("yellow","red","green","blue"),

main="Distribuição de freqüências de tipo sangüíneo")

alguns exemplos pie1
Alguns exemplos: pie

pie(table(dados),col = gray(seq(0.4,1.0,length=4)),

main="Distribuição de freqüências de tipo sangüíneo")

alguns exemplos pie2
Alguns exemplos: pie

pie(table(dados),density = 10, angle = 15 + 40 * 1:4,

main="Distribuição de freqüências de tipo sangüíneo")

alguns coment rios pie
Alguns comentários: pie

O gráfico de setores é uma forma muito ruim de dispor informações!

O olho é bom em julgar medidas lineares e ruim em julgar áreas relativas.

Um gráfico de barras ou um diagrama de pontos são formas preferíveis de

dispor este tipo de dado.

Cleveland (1985): ”Dados que podem ser mostrados por um gráfico

de setores sempre podem ser mostrados por um gráfico de barras ou um diagrama

de pontos. Isto significa que julgamentos da posição em meio a uma escala

comum podem ser feitos em vez de julgamentos menos acurados via ângulos dos setores.”

gr fico de barras
Gráfico de barras
  • Comando barplot
  • Produz um gráfico de barras da distribuição de freqüências de alguma variável.
  • Argumento obrigatório: height - vetor (ou matriz) contendo as freqüências, absolutas ou relativas, dos `valores’ possíveis. Se height for uma matriz, cada coluna desta matriz será olhada como uma distribuição de freqüências.
gr fico de barras exemplo
Gráfico de barras (exemplo)
  • barplot(table(dados),col=“blue”,main= “Distribuição de freqüências de Tipo Sangüíneo”)
detalhes do comando barplot
Detalhes do comando barplot
  • Se 'height' é um vetor, o gráfico consiste de uma seqüência de barras retangulares com alturas dadas pelos valores no vetor.
  • Se 'height' é uma matriz e o argumento 'beside=F’, então cada barra do gráfico corresponderá a uma coluna da matriz 'height', com os valores na coluna correspondendo às alturas das "sub-barras" que compõem a barra. (default)
  • Se ‘height' é uma matriz e 'beside=T', então os valores em cada coluna ficarão justapostos em vez de ‘empilhados’.
exemplo 2 tipo sang neo para 4 amostras
Exemplo 2: Tipo sangüíneo para 4 amostras

Suponha que em vez de uma única amostra, observamos a

variável tipo sangüíneo em 4 amostras de diferentes regiões,

obtendo para os sangues tipo O, A, AB e B, nesta ordem,

as seguintes freqüências:

amostra 1) 15, 12, 10, 5

amostra 2) 25, 23, 12, 8

amostra 3) 14, 12, 8, 6

amostra 4) 12, 20, 5, 10

exemplo 2 continua o
Exemplo 2 (continuação)

Podemos construir a matriz ‘height’ onde cada coluna

representará uma distribuição:

x<-matrix(0,4,4) - constrói uma matriz nula 4x4

x[,1]<-c(15,12,10,5) # atribui os valores da coluna 1 de x

x[,2]<-c(25,23,12,8) # atribui os valores da coluna 2 de x

x[,3]<-c(14,12,8,6) # atribui os valores da coluna 3 de x

x[,4]<-c(12,20,5,10) # atribui os valores da coluna 4 de x

exemplo 2 continua o1
Exemplo 2 (continuação)

barplot(x,beside=F)

exemplo 2 continua o2
Exemplo 2 (continuação)

Observe que como cada amostra conta com um número

diferente de observações, este gráfico ainda precisa ser

melhorado se queremos comparar as diferentes amostras.

A sugestão aqui é uniformizar a escala, trabalhando com

freqüências relativas.

x[,1]<-x[,1]/sum(x[,1])

x[,2]<-x[,2]/sum(x[,2])

x[,3]<-x[,3]/sum(x[,3])

x[,4]<-x[,4]/sum(x[,4])

ou for (i in 1:4) {x[,i]<-x[,i]/sum(x[,i]) }

exemplo 2 continua o3
Exemplo 2 (continuação)

barplot(x,beside=F)

exemplo 2 continua o4
Exemplo 2 (continuação)

barplot(x,beside=T)

barplot m ais detalhes
Barplot: mais detalhes
  • Argumento main - aqui também é usado para inserir um título: barplot(x,main=“Título”,sub=“sub-título”)
  • Argumentos xlab e ylab - rótulos para os eixos do gráfico. barplot(x,main=“Título”,sub=“sub-título”,ylab=“freq. rel.”,xlab=“rótulo para o eixo Ox”)
  • Argumento names.arg - vetor que cria rótulos para cada uma das amostras. barplot(x,main=“Título”,sub=“sub-título”,ylab=“freq. rel.”,xlab=“nome”,names.arg=c(“amostra 1”,”amostra 2”, “amostra 3”,”amostra 4”))
slide28

barplot(x,beside=T,names.arg=c("amostra 1","amostra 2","amostra 3","amostra 4"),

main="Distribuição de freqüências de tipo sangüíneo",ylab="freq. relativa",

xlab="rótulo para o eixo horizontal")

barplot legenda
Barplot:legenda
  • Só está faltando uma legenda para saber que cor corresponde a cada tipo sangüíneo.
  • Argumento: legend.text - vetor contendo a legenda.

barplot(x,main=“Título”,sub=“sub-título”,ylab=“freq. rel.”,

xlab=“nome”,names.arg=c(“amostra 1”,”amostra 2”, “amostra 3”,”amostra 4”),

legend.text=c(“O”,”A”, “AB”,”B “))

outros argumentos de barplot
Outros argumentos de barplot
  • width - vetor opcional com a largura das barras;
  • space - quantidade de espaço à esquerda antes de cada barra. Pode ser fornecido como um único número ou um número por barra.
  • Se 'height' é uma matriz e 'beside=T’, 'space' pode ser especificado por dois números, onde o primeiro é o espaço entre barras no mesmo grupo, e o segundo é o espaço entre os grupos.
  • Se não é fornecido explicitamente, seu default é 'c(0,1)' se 'height’ é uma matriz e 'beside=T’, e 0.2, caso contrário.
slide32

Gráfico usando o

argumento

space=c(1,3)

outros argumentos de barplot1
Outros argumentos de barplot
  • horiz: um valor lógico.
  • Se ’horiz=F', as barras são desenhadas verticalmente com a primeira barra à esquerda.
  • Se ’horiz=T', as barras são desenhadas horizontalmente com a primeira barra em baixo.
  • Default: horiz=F
slide34

Argumento

horiz=T,

xlab=“freq. relativa”,

ylab=“”,

sub=“”

outros argumentos de barplot2
Outros argumentos de barplot
  • col - vetor informando as cores das barras.
  • border - cor das bordas da barra.

Inserindo o argumentos:

col=c(“blue”,”violetblue”,”green”,”palegreen”),

border=“red”

e retirando horiz=T e space=c(1,3)

modificando a escala de cinza
Modificando a escala de cinza

col = gray(seq(0.4,1.0,length=4))

barras tracejadas
Barras tracejadas

density = 10, angle = 15 + 30 * 1:4

outros argumentos
Outros argumentos...
  • Há uma série de outras possibilidades.
  • Sugerimos que elas sejam exploradas por vocês quando estiverem usando o R.
atividade 1 classes sociais
Atividade 1: classes sociais
  • Saiu, publicada no jornal O Globo de 20 de março de 2005, uma matéria de capa cujo título foi: “Pesquisa mostra que o Brasil é classe C”.
  • “Mapeamento inédito sobre o poder de compra das classes sociais brasileiras, feito pela Fundação Getúlio Vargas, mostra que 5,8 milhões das famílias estão na classe C e ganham entre R$1157 e R$2039.”
classes sociais no brasil
Classes sociais no Brasil
  • “Outras 4,6 milhões são consideradas classe D.”
  • “Duas a cada três famílias nos 83 maiores municípios do país estão nas faixas de renda média e baixa.”
  • “O topo da pirâmide tem apenas 27mil domicílios.”
renda familiar m dia
Renda familiar média

Fonte: O Globo, 20/03/2005 (FGV)

gr fico de barras das classes sociais
Gráfico de Barras das classes sociais
  • Os dados da tabela anterior foram armazenados no arquivo classes.txt com 10 linhas (a primeira com o nome da informação, a saber, classe, brasil, rj, sp e df) e 5 colunas.

dados<-read.table(“m:\\aed\\classes.txt”,header=T)

slide45

Construindo a matriz de dados para o gráfico simultâneo das

distribuições:

dad<-matrix(0,9,4) # dad recebe uma matriz nula 9 por 4

dad[,1]<-dados[,2] # coluna 1 de dad recebe porcentagens do Brasil

dad[,2]<-dados[,3] # coluna 2 de dad recebe porcentagens do Rio

dad[,3]<-dados[,4] # coluna 3 de dad recebe porcentagens doe Sampa

dad[,4]<-dados[,5] # coluna 4 de dad recebe porcentagens do DF

barplot(dad,names.arg=c("Brasil","RJ","SP","DF"),

legend.text=c("A","A1","A2","B1","B2","C1","C2","D","E"))

slide46

Distribuição percentual das famílias por classes sociais

segundo a região

barplot(dad,names.arg=c("Brasil","RJ","SP","DF"),

legend.text=c("A","A1","A2","B1","B2","C1","C2","D","E"),

col = gray(seq(0.0,1.0,length=9)))

agrupando classes a b d d e e
Agrupando classes: A, B, D, D e E

Como vocês podem perceber, o gráfico anterior não ficou muito

bom, pois há um número de classes razoável. Uma forma de

melhorar a visualização da distribuição de classes é reduzir de 9

para 5 classes, juntando as classes A, A1, A2 em A, B1 e B2 em B e

C1 e C2 em C e, depois reconstruir o gráfico de barras simultâneo

para todas as áreas.

Essa tarefa será deixada como um exercício!

principais comandos da aula
scan (para ler dados)

what (parâmetro do scan)

sort (ordenação)

table (tabulação)

sum (soma)

pie (gráfico de setores)

ver argumentos possíveis para pie

barplot (gráfico de barras)

ver argumentos possíveis para barplot

Argumentos comuns:

main - título

col - cores para os atributos

Principais comandos da aula