Aula 2: Tipos de variáveis Departamento de Métodos Estatísticos Instituto de Matemática Universidade Federal do Rio de Janeiro 2012 (UFRJ) Análise Exploratória de Dados 2012 1 / 34
Exemplo 2.1 Um pesquisador está interessado em fazer um levantamento sobre alguns aspectos socioeconômicos dos empregados da seção de orçamento da Companhia MB. Usando informações obtidas no departamento pessoal, ele elaborou uma tabela: Variável Estado civil Grau de instrução Número de filhos Salário Idade Região de procedência Representação X Y Z S U V Variáveis qualitativas: Apresentam como possíveis realizações uma qualidade - sexo, educação, estado civil; Variáveis quantitativas: Apresentam como possíveis realizações números (contagem ou mensuração) - número de filhos, salário, idade; (UFRJ) Análise Exploratória de Dados 2012 2 / 34
Tipos de variável Variáveis qualitativas: Nominal - não existe nenhuma ordenação; Ordinal - existe uma ordem em seus resultados; Variáveis quantitativas: Discreta - os possíveis valores formam um conjunto finito e enumerável de pontos; Contínua - os possíveis valores pertencem a um intervalo de números reais e que resultam de uma mensuração; (UFRJ) Análise Exploratória de Dados 2012 3 / 34
Classificação de uma variável Figure: Classificação de uma variável (UFRJ) Análise Exploratória de Dados 2012 4 / 34
Distribuições de Frequências Quando se estuda uma variável, o maior interesse do pesquisador é conhecer o comportamento da mesma, analisando a ocorrência de suas possíveis realizações; A distribuição de frequências é uma maneira de dispor os dados de forma a ter uma idéia da sua distribuição Exemplo: Distribuição de frequências da variável grau de instrução da seção de orçamentos da Companhia MB: grau de instrução frequência (n i ) proporção (f i ) porcentagem (100f i ) Fundamental 12 0,3333 33,33 Médio 18 0,5000 50,00 Superior 6 0,1667 16,67 Total 36 1,0000 100,00 (UFRJ) Análise Exploratória de Dados 2012 4 / 34
Distribuição de frequências da variável grau de instrução da seção de orçamentos da Companhia MB grau de instrução frequência (n i ) porcentagem (100f i ) Fundamental 12 33,33 Médio 18 50,00 Superior 6 16,67 Total 36 100,00 Distribuição de frequências da variável grau de instrução de todos os empregados da Companhia MB grau de instrução frequência (n i ) porcentagem (100f i ) Fundamental 650 32,50 Médio 1020 51,00 Superior 330 16,50 Total 2000 100,00 (UFRJ) Análise Exploratória de Dados 2012 5 / 34
Distribuição de frequências de variáveis contínuas É necessário agrupar os dados em classes; Classe de salários frequência (n i ) porcentagem (100f i ) 4,00 8, 00 10 27,78 8,00 12, 00 12 33,33 12,00 16, 00 8 22,22 16,00 20, 00 5 13,89 20,00 24, 00 1 2,78 Total 36 100,00 Perde-se informação. Por exemplo, não sabemos mais quais foram os oito salários da classe de 12 a 16; A escolha dos intervalos é arbitrária. O pesquisador decide quantas e quais classes usar: com poucas classes, perde-se muita informação; com muitas classes, o objetivo de resumir os dados fica prejudicado; (UFRJ) Análise Exploratória de Dados 2012 6 / 34
Gráficos para variáveis qualitativas Gráfico em barras A altura (ou largura) das barras é proporcional à magnitude a ser representada (n i ou f i): (UFRJ) Análise Exploratória de Dados 2012 7 / 34
Gráfico de composição em setores (ou pizza ) Cada setor tem a área proporcional à magnitude a ser representada (n i ou f i): (UFRJ) Análise Exploratória de Dados 2012 7 / 34
Gráfico em barras Cada barra representa a frequência observada de cada valor. (UFRJ) Análise Exploratória de Dados 2012 8 / 34
Gráficos de dispersão unidimensionais Valores são representados por pontos ao longo da reta (provida de uma escala), e: (a) valores repetidos são acompanhados por um número que indica as repetições; (b) valores repetidos são empilhados, um em cima do outro; (c) apresenta-se apenas o ponto mais alto da pilha. (UFRJ) Análise Exploratória de Dados 2012 8 / 34
Gráficos para variáveis quantitativas contínuas Histograma Os dados são divididos em classes. O histograma é um gráfico de barras contíguas, com as bases proporcionais aos intervalos das classes e a área de cada retângulo proporcional à respectiva frequência (n i ou f i). (UFRJ) Análise Exploratória de Dados 2012 9 / 34
Ramo-e-folhas A escolha do número de ramos é equivalente a escolher as classes em um histograma. Exemplo: -2.1, -1.7, -1.5, -1.1, -0.9, -0.8, -0.8, 0.2, 1.3, 1.6, 1.6, 1.6, 1.7, 1.9, 2.3, 2.3, 2.6, 2.9, 3.2, 3.5, 3.5, 3.9, 3.9, 4.4, 4.5, 4.7, 5.6 (UFRJ) Análise Exploratória de Dados 2012 10 / 34
Exemplo 1: Tipo Sanguineo 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: dados=scan( http://www.dme.ufrj.br/marina/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. (UFRJ) Análise Exploratória de Dados 2012 11 / 34
Comando Sort Use o comando sort para ordenar os dados: sort(dados) No caso de variáveis nominais, a ordenação é feita pela ordem alfabética Você ainda pode escolher se deseja ordem crescente (default) ou decrescente, acrescentando o argumento decreasing=t. (UFRJ) Análise Exploratória de Dados 2012 12 / 34
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. (UFRJ) Análise Exploratória de Dados 2012 13 / 34
Comando Table Frequências absolutas: table(dados) Frequências relativas: table(dados)/sum(table(dados)) Porcentagens: table(dados)*100/sum(table(dados)) (UFRJ) Análise Exploratória de Dados 2012 14 / 34
Análise Gráfica Gráfico de setores: pie(table(dados)) Vamos verificar as opções desse tipo de gráfico no R: help(pie) Alguns argumentos: x: um vetor de quantidades positivas. Os valores em x representam a proporção das áreas dos setores no gráfico. (OBRIGATÓRIO.) labels: um vetor de caracteres fornecendo nomes para os setores. (Não é obrigatório.) edges: um inteiro. A linha do círculo é aproximada por um poĺıgono com este número de lados. 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). col: um vetor de cores a serem usadas no preenchimento dos setores. Se ausente, será usado um conjunto de cores pastéis. main: Título para o gráfico. (UFRJ) Análise Exploratória de Dados 2012 15 / 34
Trocando cores A função colors() lista o nome das 657 cores possíveis. pie(table(dados),col=c( yellow, red, green, blue ),main= Distribuição de freqüências de tipo sangüíneo ) pie(table(dados),col = gray(seq(0.4,1.0,length=4)), main= Distribuição de freqüências de tipo sangüíneo ) pie(table(dados),density = 10, angle = 15 + 40 * 1:4, main= Distribuição de freqüências de tipo sangüíneo ) (UFRJ) Análise Exploratória de Dados 2012 16 / 34
Gráfico de barras Comando barplot Produz um gráfico de barras da distribuição de frequências de alguma variável. barplot(table(dados),col= blue,main= Distribuição de freqüências de Tipo Sangüíneo ) (UFRJ) Análise Exploratória de Dados 2012 17 / 34
Detalhes do comando barplot height é um vetor, o gráfico consiste de uma sequência de barras retangulares com alturas dadas pelos valores no vetor. 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 as alturas das sub-barras que compoem a barra. (default) height é uma matriz e beside=t, então os valores em cada coluna ficarão justapostos em vez de empilhados. (UFRJ) Análise Exploratória de Dados 2012 18 / 34
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 (UFRJ) Análise Exploratória de Dados 2012 19 / 34
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]=(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 (UFRJ) Análise Exploratória de Dados 2012 20 / 34
barplot(x,beside=f) (UFRJ) Análise Exploratória de Dados 2012 21 / 34
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]) } (UFRJ) Análise Exploratória de Dados 2012 22 / 34
barplot(x,beside=f) (UFRJ) Análise Exploratória de Dados 2012 23 / 34
barplot(x,beside=t) (UFRJ) Análise Exploratória de Dados 2012 24 / 34
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 x ) 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= rótulo para o eixo x,names.arg=c( amostra 1, amostra 2, amostra 3, amostra 4 )) (UFRJ) Análise Exploratória de Dados 2012 25 / 34
Exemplos 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) (UFRJ) Análise Exploratória de Dados 2012 26 / 34
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 ),beside=t) (UFRJ) Análise Exploratória de Dados 2012 27 / 34
Outros argumentos de barplot width - vetor opcional com a largura das barras; space - quantidade de espaço a 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 espaco entre barras no mesmo grupo, e o segundo é o espaco entre os grupos. Se nao é fornecido explicitamente, seu default é c(0,1) se height é uma matriz e beside=t, e 0.2, caso contrário. (UFRJ) Análise Exploratória de Dados 2012 28 / 34
Gráfico usando o argumento space=c(1,3) 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 ),beside=t,space=c(1,3)) (UFRJ) Análise Exploratória de Dados 2012 29 / 34
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 (UFRJ) Análise Exploratória de Dados 2012 30 / 34
Gráfico usando o argumento horiz=t (UFRJ) Análise Exploratória de Dados 2012 31 / 34
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) (UFRJ) Análise Exploratória de Dados 2012 32 / 34
col = gray(seq(0.4,1.0,length=4)) (UFRJ) Análise Exploratória de Dados 2012 33 / 34
density = 10, angle = 15 + 30 * 1:4 (UFRJ) Análise Exploratória de Dados 2012 34 / 34