UNIVERSIDADE FEDERAL DE SÃO CARLOS
UNIVERSIDADE FEDERAL DE SÃO CARLOS
CENTRO DE CIÊNCIAS EXATAS E
CENTRO DE CIÊNCIAS EXATAS E
TECNOLÓGICAS
TECNOLÓGICAS
USO DE PARÂMETROS GRÁFICOS BÁSICOS DO
SOFTWARE LIVRE R
Lucas Alves Dos Santos
Armando Dias Caetano
Cecília Candolo
Ó
É
Ó
É
Cecília Candolo
RELATÓRIO TÉCNICO
RELATÓRIO TÉCNICO –
– DEPARTAMENTO
DEPARTAMENTO
DE ESTATÍSTICA
DE ESTATÍSTICA
NOTAS DIDÁTICAS– SÉRIE C
NOTAS DIDÁTICAS SÉRIE C
Maio/2013
nº 28
DEPARTAMENTO DE ESTATÍSTICA
USO DE PARÂMETROS GRÁFICOS BÁSICOS DO
SOFTWARE LIVRE R
LUCAS ALVES DOS SANTOS
ARMANDO DIAS CAETANO
CECILIA CANDOLO
Apresentação
Este trabalho é resultado de um esforço conjunto entre alunos e professor do Bacharelado em Estatística. O corpo inicial foi resultado de um projeto de bolsa treinamento desenvolvido pelo primeiro autor e a professora em questão. O segundo autor terminou o trabalho, adicionando exemplos. A proposta é oferecer uma abordagem básica de uso de parâmetros gráficos no
software R, numa linguagem acessível aos alunos do Bacharelado. Não se pretende compor um
trabalho completo e detalhado sobre o assunto, mas sim um guia básico que auxilie os usuários quotidianos do R a produzirem gráficos mais personalizados. Não se pretende, também, ensinar o uso do R e nem o básico sobre construção de gráficos. Pressupõe-se que os leitores tenham pelo menos um conhecimento básico sobre o software. No endereço do software na internet ( www.r-project.org ) encontram-se variadas referências bibliográficas para aprender a utilizar o software bem como para uso mais avançado. Além disso, recentemente, tem havido a publicação de inúmeros livros sobre o assunto, de forma que o leitor interessado possa aperfeiçoar suas habilidades. O enfoque aqui proposto é o de se concentrar em técnicas de personalização (customizing) de gráficos de forma básica e simples. Para isso, serão apresentadas as técnicas e depois as mesmas serão aplicadas em exemplos.
Sumário
1. Introdução ... 3
2. Desenvolvimento ... 3
2.1 Aspectos básicos da construção de gráficos no R ... 3
2.2 Personalização da aparência do gráfico ... 5
2.2.1 Cores ... 5
2.2.2 Preenchimento com padronagens ... 6
2.2.3 Linhas ... 7
2.2.4 Textos ... 7
2.2.5 Símbolos ... 9
2.2.6 Eixos x,y ... 10
2.2.7 Legenda ... 12
2.3 Especificação da área do gráfico ... 13
2.3.1 Margem externa ... 13
2.3.2 Margem da figura ... 14
2.3.3 Mais de um gráfico por página ... 14
2.3.4 Abertura e controle de janelas gráficas. ... 16
3- Resultados ... 16
3.1 Exemplos ... 16
3.1.1 Exemplo 1 – Histogramas ... 16
3.1.2 Exemplo 2- Box-plot ... 18
3.1.3 Exemplo 3 – Gráfico de Dispersão ... 19
3.1.4 Exemplo 4 – Gráficos de Barras ... 19
3.1.5 Exemplo 5 – Gráficos de Setores ... 21
3.1.6 Exemplo 6 – Alteração da área da janela gráfica ... 22
1. Introdução
A estatística é uma ciência que essencialmente trabalha com a análise de dados. Praticamente todos os problemas de análise de dados são resolvidos com o uso do computador e de softwares apropriados. Existe uma ampla gama de programas computacionais específicos para análise estatística, sendo que tem se destacado o software R, que é uma linguagem e ambiente para computação estatística e construção de gráficos, e está disponível como Software Livre sob os termos da Licença Pública Geral GNU da Free Software Foundation. O R fornece uma ampla variedade de técnicas estatísticas, desde as mais básicas até as mais avançadas, dispõe de excelentes ferramentas gráficas e é altamente extensível. Toda a documentação e arquivos para
download e instalação estão disponíveis no site www.r-project.org.
Um dos requerimentos mais pertinentes na formação moderna do estatístico é a habilidade de construir gráficos de alta qualidade. A maioria dos softwares atuais oferece uma boa interface gráfica. Um dos pontos fortes de R é a facilidade com que gráficos bem desenhados e com qualidade para publicação podem ser produzidos, incluindo símbolos matemáticos e fórmulas, quando necessário.
O processo de construção de gráficos no R compreende a utilização de algumas funções genéricas e também alguns pacotes específicos. A utilização de funções genéricas se faz via a especificação de variáveis e dos parâmetros gráficos que irão definir a personalização do gráfico final. O uso destes parâmetros requer conhecimentos específicos e treinamento adequado, para que o processo se torne fácil e amigável.
Tendo em vista a importância do conhecimento da construção de gráficos no R para estudantes e profissionais de estatística, e, considerando a escassez de material bibliográfico em português para aquisição de tal conhecimento, este trabalho tem como objetivo apresentar, de forma introdutória, amigável e simples, a utilização dos parâmetros gráficos do R, desenvolvendo também alguns exemplos. Ressalta-se que o objetivo está na construção de gráficos através das funções gráficas básicas do R e não na utilização de pacotes para gráficos mais complexos. Ressalta-se também, que o objetivo está na utilização dos parâmetros gráficos, e, então, esta não é uma apostila completa sobre a construção de gráficos no R.
O texto foi produzido a partir da experiência dos autores e também, grande parte, foi baseado em Murrel (2006). Algumas convenções de notação foram usadas: comandos são colocados em letra tipo “typewriter” e funções do R, quando citadas no texto, estão em negrito. As técnicas estatísticas aqui apresentadas podem ser consultadas em Bussab e Morettin (2002).
A seção 2 apresenta uma introdução à construção de gráficos no R, às técnicas de personalização (customizing) de gráficos e mostra formatos de especificação da área do gráfico. A seção 3 apresenta exemplos de aplicações.
2. Desenvolvimento
2.1 Aspectos básicos da construção de gráficos no R
As funções gráficas do R são divididas em quatro partes: pacotes gráficos, sistemas gráficos, mecanismos gráficos e dispositivos de pacotes gráficos. Os pacotes gráficos oferecem
funções que constroem os gráficos em cima de duas estruturas. Essas estruturas são chamadas de sistemas gráficos, que são os gráficos tradicionais e os de grade (grid). O sistema tradicional corresponde às funções gráficas mais conhecidas, disponibilizadas no pacote base, e que serão as utilizadas neste trabalho. O sistema grid, oferece ferramentas gráficas mais poderosas, e, a maioria das funções relacionadas a esse sistema, estão contidas no pacote lattice, que implementa o sistema gráfico Trellis. Mais informações podem ser obtidas em Murrell (2006).
As funções utilizadas para a construção de gráficos podem ser divididas em três grupos principais:
• Funções de alto nível: que efetivamente constroem o gráfico. As principais são: plot, barplot, hist, boxplot, pie, pairs, contour, persp, entre outras.
• Funções de baixo nível: adicionam itens a um gráfico já existente. Por exemplo: points, lines, abline, text, legend, title.
• Funções interativas: que trabalham de forma interativa com o gráfico, muitas vezes com o uso do mouse. Por exemplo, as funções locator e identify. Assim, o software R oferece uma ampla variedade de gráficos estatísticos, tais como histogramas, boxplots, gráficos de barra e de pizza, etc. A Figura 1 apresenta alguns exemplos básicos dos gráficos mais usados no R.
>hist(rnorm(100),main="Hi stograma de dados:N(0,1)" ,ylab="",xlab="") >plot(pressure, main= "Dispersão: temperatura vs. pressão",ylab= "pressão",xlab="temperatu ra") >text(150, 600,"Pressure (mm Hg)\n versus \n Temperature (Celsius)") >boxplot(rpois(100,2),mai n="Boxplot de dados: Poisson(λ=2)") >pie.sales<-c(0.12,0.3, 0.26, 0.16,0.04,0.12) >names(pie.sales)<-c("Blueberry", "Cherry", "Apple", "Boston Cream", "Other", "Vanilla Cream") >pie(pie.sales,main="Gráf
ico de pizza de sabores")
Figura 1: Exemplos de gráficos tradicionais do R
É claro que o gráfico não consiste apenas nos dados em si, mas em todos os aspectos como cor, legendas, etc. E, para que os dados tenham uma melhor visualização e interpretação, acrescentamos tais elementos, utilizando os parâmetros gráficos disponíveis.
As funções gráficas constroem os gráficos com uma aparência “default”, ou seja, com os principais parâmetros gráficos fixados em padronagens simples. A próxima seção apresenta formas de personalização da aparência do gráfico quanto a cores, padronagens, linhas, textos, símbolos, eixos e legendas.
2.2 Personalização da aparência do gráfico
Basicamente, existem duas maneiras de se alterar as características do gráfico. Para exemplificar, seja o parâmetro col (abreviação de color, que define a cor usada no gráfico). A primeira maneira é via a função par():
> par(col="red")
Quando definida desta maneira, a cor escolhida será usada em todos os gráficos feitos subseqüentes a esse comando. Já quando é definida via função gráfica, somente será usada naquele gráfico específico:
> plot(dados, col="red")
Mas, deve-se tomar cuidado ao especificar a cor via função gráfica, pois o resultado pode variar. Na função plot(), a cor servirá para colorir os símbolos dos dados e as linhas, já na função
barplot() será usada para preencher as colunas (as barras).
2.2.1 Cores
Os parâmetros básicos para definição da cor em um gráfico são: col (color), fg (foreground) e bg (background). O mais comum é o col, que é usado para especificar a cor de símbolos, linhas, textos, ou o que quer que seja que esteja sendo grafado pela função gráfica, na região do gráfico. O parâmetro col recebe uma string (com o nome em inglês da cor) ou um número inteiro correspondente a esta cor. O parâmetro fg é utilizado para especificar a cor de eixos e bordas dos gráficos, enquanto que o parâmetro bg especifica a cor do fundo da área do gráfico, mas depende se for usado na função par() ou na função gráfica.
Existem também parâmetros específicos para as cores de eixos, rótulos, títulos e subtítulos: col.axis, col.lab, col.main e col.sub.
2.2.1.1 Escolha da cor
A forma mais fácil de definir a cor no R é usando o nome (em inglês) da cor: por exemplo, ”red” que corresponde ao número 2. Podem ser escolhidas 657 cores. O comando
colors() apresenta a lista completa dos 657 nomes das cores disponíveis.
A cor pode também ser definida por um número inteiro, por uma descrição de padrão espaço-cor (no R há a função rgb() para esta finalidade) ou ainda pelo padrão hexadecimal.
O número da cor é definido pela função pallete(). O comando pallete() mostra as cores “default” para os números de 1 a 8: “black”, “red”, “green3”, “blue”, “cyan”, ”magenta”, “yellow”, “gray”. Esta configuração pode ser alterada (para exemplos, ver o “help” da função).
A função rgb() permite que a cor seja especificada em termo das intensidades da tripla
especificada por rgb(1, 0, 0), ou seja, tanto vermelho quanto possível, com nada de verde e azul. Para uma mistura vibrante de verde e azul poderia ser usada rgb(0,1,1) e uma mistura mais apagada rgb(0, 0.5, 0.5).
2.2.1.2 Conjuntos de cores
O R oferece algumas funções que geram conjuntos de cores, o que pode facilitar quando se necessita escolher várias cores para um mesmo gráfico. A Tabela 1 relaciona as funções disponíveis.
Tabela 1: Funções que geram conjuntos de cores. Nome Descrição
rainbow() Cores que variam do vermelho, através do laranja, amarelo,
verde, azul e índigo, até o violeta.
heat.colors() Cores que variam do branco através do amarelo e laranja, até o
vermelho
terrain.colors() Cores que variam do branco, através de marrons, até o verde topo.colors() Cores que variam do branco, através de marrons e verdes, até o
azul
cm.colors() Cores que variam do azul claro, através do branco, até o
magenta claro
grey() ou gray() Variações de tonalidades de cinza
O comando example(rainbow) fornece uma apresentação resumida destes conjuntos de cores, por exemplo. Mais exemplos de estilização serão vistos na seção 3.
2.2.2 Preenchimento com padronagens
Em algumas situações gráficas há a necessidade de se usar outras abordagens, que não a cor, para se distinguir entre elementos gráficos (por exemplo, quando a impressão é em preto e branco). Podem ser usadas diferentes tonalidades de cinza ou então algum tipo de padrão de preenchimento como as hachuras (linhas paralelas em ângulos diferentes). No R este padrão pode ser usado apenas em retângulos e polígonos, mudando-se os ângulos das linhas (parâmetro angle) e a densidade entre elas (parâmetro density). Estes parâmetros podem ser usados apenas nas funções gráficas (barplot(), rect(), polygon(), hist(), pie() e legend()) e não via par().
A Figura 2 apresenta um barplot com cores e padronagens diferentes. Vale observar que o R organiza internamente as cores em RGB. A aparência final pode variar dependendo do dispositivo que a expõe (tela, impressão, papel, projeção). Esta característica é geralmente chamada de “device dependency”.
>x<-rep(0:8, c(5,15,25, 20,17,12,10,8,4)) > table(x) > barplot(table(x),col=rain bow(9),angle=seq(10,90,10 ),density=seq(5,45,5)) 0 1 2 3 4 5 6 7 8 0 5 10 15 20 25
Figura 2: Exemplos de mudança de cores e padronagens.
2.2.3 Linhas
Existem cinco parâmetros que controlam o aspecto da linha a ser usada. O primeiro é o lty (linetype), que indica qual o tipo de linha será desenhada. Outro parâmetro é o lwd (linewidth), que diz respeito à largura da linha. Os outros três parâmetros - ljoin, lend e lmitre – controlam o tipo de contorno.
O parâmetro lty pode ser especificado por nomes, já pré-definidos, ou por um número decimal que corresponde a um desses nomes, enquanto o lwd é indicado somente por um número inteiro, sendo que o default é o número 1: valores menores produzem linhas mais finas e valores maiores produzem linhas mais espessas. Os argumentos ljoin, lend e lmitre podem ser visto no help da função par. A Figura 3 mostra os tipos de linhas existentes no R.
2.2.4 Textos
Há uma vasta lista de parâmetros que controlam a aparência do texto em gráficos, porém existem três aspectos que são os mais importantes: tamanho da fonte, tipo de fonte e a justificação do texto. O tamanho da fonte é controlado pelos parâmetros ps e cex, que indicam um número absoluto da fonte e um “fator” multiplicativo, respectivamente. O tamanho final da fonte será o resultado da multiplicação desses dois valores.
Quando cex é indicado via par(), a maior parte do texto é alterada, no entanto, quando é especificado via função gráfica, somente irá alterar o tamanho dos símbolos dos dados, como mostram os gráficos na Figura 4.
Figura 3: Tipos de linhas, já pré-definidos pelo R, que se pode usar. x=rbinom(100,10,0.5)) Gráfico 1: > par(cex=0.5) > plot(x) Gráfico 2: > par(cex=1) > plot(x) Gráfico 3: > plot(x, cex=0.5) Gráfico 4: > plot(x, cex=1.5)
Figura 4: Exemplos gráficos da diferença do uso do parâmetro cex na função par() e na função
Existem, porém, configurações mais específicas como, por exemplo, para o texto dos ‘rótulos’ dos eixos (cex.axis) e tamanho do título (cex.main), tamanho do sub-título (cex.sub), que só são usadas através da função gráfica e não na função par.
A justificação do texto é feita através do parâmetro adj, um valor entre 0 e 1, onde 0 significa justificado à esquerda, 1 significa justificado à direita e 0.5 indica que o texto é centralizado. Pode-se, também, indicar dois valores para esse parâmetro, onde o segundo valor indica a justificação vertical do texto.
Já a fonte a ser usada, é indicada através do parâmetro family, e, através do parâmetro
font, se queremos negrito, itálico ou ambos. O parâmetro family é indicado por um conjunto de
caracteres e font por um número inteiro entre 1 e 4. Assim como as cores, existem alguns parâmetros mais específicos para as fontes (font.axis, font.sub, font.lab, font.main), que também só são indicadas na função gráfica. Veja a Figura 5.
Figura 5: Exemplo das possíveis fontes.
2.2.5 Símbolos
O software R oferece 26 tipos de símbolos pré-definidos, que são escolhidos através do parâmetro pch. Este parâmetro deve receber um número inteiro entre 0 e 25 (o número “default” é o 1). Alguns desses símbolos (mais precisamente os que estão entre 21 e 25) permitem que se preencha com alguma cor seu interior, através do parâmetro bg.
Porém, os símbolos não se limitam apenas a esses 26 tipos. Há a possibilidade de escolher um caractere qualquer do teclado para ser usado como símbolo. A Figura 6 apresenta os símbolos e seus respectivos números.
Figura 6: Números dos respectivos símbolos a serem usados com o parâmetro pch
2.2.6 Eixos x,y
Por padrão, os eixos (as escalas) são feitos automaticamente, mas existem muitos parâmetros que podem personalizá-los. Através dos parâmetros xaxp e yaxp pode-se controlar o número de “marcas de sinalização”. Sua especificação é feita na forma de um vetor de três posições, onde os dois primeiros valores indicam o primeiro e o último valor, respectivamente, das escalas a serem desenhados e o terceiro valor indica o número de divisões que terá esse intervalo. Observe os eixos da Figura 7.
O parâmetro tcl controla o tamanho dessas “marcas de sinalização”. Ele é especificado através de um número inteiro, onde o número negativo indica que essa marca será desenhada fora da região do gráfico, o número positivo significa dentro da região do gráfico e o número 0 indica que não haverá essas marcas.
Os parâmetros xaxt e yaxt controlam se os eixos serão desenhados, o valor “n” indica que não e o valor “s” indica que serão desenhados.
Outro parâmetro importante é o bty, que controla o tipo de caixa que será desenhada em volta da região do gráfico. Ele é indicado através de um caractere e seus possíveis valores são esses: “o”, “l”, “7”, “c”, “u” e “]”. A Figura 8 mostra os tipos de caixas.
plot(main="Exemplo: Marcas de sinalização",x, ylab="", xlab="",
yaxp=c(-2,2,10))
plot(main="Exemplo: Marcas de sinalização",x, ylab="", xlab="",
xaxp=c(35,95,10)) Figura 7: Exemplos de marcas de sinalização.
A função axis() permite desenhar os eixos em qualquer lado do gráfico, e através do argumento side, escolhemos o lado. E os argumentos at e labels, especificam a locação e o texto das marcas de sinalização, ao longo dos eixos, respectivamente.
O parâmetro lab também altera a forma dos eixos, ele é indicado da forma c(5, 5, 7) onde os dois primeiros valores representam a quantidade de “marcas de sinalização” nos eixos x e y, respectivamente, e o terceiro representa o tamanho dos “rótulos”.
E, por último, o parâmetro las, que é indicado por um número inteiro entre 0 e 3, onde 0 indica que o texto dos “rótulos” é paralelo ao eixo, 1 significa horizontal, 2 representa perpendicular ao eixo e 3 que é sempre vertical (observe os valores em vermelho da Figura 9).
Figura 9: As diferentes saídas do parâmetro las
2.2.7 Legenda
As legendas são adicionadas pela função legend() e geralmente é desenhada na região do gráfico. A função possui muitos parâmetros, o que a torna maleável para adequar-se as necessidades de cada pessoa.
Os principais parâmetros são as coordenadas x e y que indicarão a posição da legenda e um vetor ou expressão com as legendas. Existem outros parâmetros mais específicos para cor, tipo de borda da caixa da legenda, etc. Vale lembrar que o usuário é o responsável por fazer com
que a legenda corresponda ao gráfico, pois não há nenhuma verificação automática, feita pelo R, que faça a correspondência entre os dados e a legenda.
A posição da legenda no gráfico pode ser definida pelo uso das opções "bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right" e "center", que são colocadas no lugar das coordenadas x e y. Ou, pode-se optar pelo uso de comandos interativos locator. Se usarmos locator(1) no lugar das coordenadas x, y, iremos escolher a posição do canto superior esquerdo da caixa da legenda, simplesmente apontando e clicando com o mouse na área gráfica. A Figura 10 representa um exemplo de legenda.
Figura 10: Exemplo de utilização da legenda
2.3 Especificação da área do gráfico
A tela onde são desenhados os gráficos é dividida em três partes ou em três principais regiões: a margem externa, a área da figura e a região do gráfico. Há também, uma área que é chamada de margem da figura, que corresponde a área externa da região do gráfico, mas a parte de dentro da área da figura. Pode-se controlar o tamanho dessas regiões via função par(), ou por funções mais específicas. A Figura 11, reproduzida de Murrell (2006), fornece uma ilustração.
2.3.1 Margem externa
A margem externa é indicada por quatro valores: um para o lado inferior, outro para a esquerda, outro para o superior e um para a margem direita, e é controlada através do parâmetro
oma (outer margin).Os valores de oma são interpretados como número de linhas de texto. Por
exemplo, de especificação gráfica. Tem-se, também, a possibilidade de usar o parâmetro omi (outer margin inches), para indicar o tamanho da margem em centímetros.
Área do Gráfico Área da Figura Margem Externa 1 M ar g em E x ter na 2 Margem Externa 3 M ar g em E x ter na 4
Figura 11: Divisão das áreas feitas pelo software R, reproduzida de Murrell (2006).
2.3.2 Margem da figura
As margens da figura correspondem aos espaços entre as margens externas e a área do gráfico.
É controlada através do parâmetro mar. Com deste parâmetro, indica-se quatro valores, correspondentes aos quatro lados da margem (em baixo, esquerda, em cima, direita) e os valores correspondem a números de linhas. O default é c(5.1, 4.1, 4.1, 2.1) e o valor 1 fornece espaço para uma linha de texto na margem externa. Tem-se a possibilidade de indicar o tamanho em polegadas, via o parâmetro mai.
2.3.3 Mais de um gráfico por página
Existem várias maneiras de fazer diversos gráficos em uma mesma janela gráfica. A primeira é através da função par(), em que os parâmetros mfrow e mfcol são usados para indicar, o número de linhas e o número de colunas em que a janela será divida (sempre em tamanhos iguais). Se for via mfrow, então as regiões da figura são utilizadas na seguinte ordem: da esquerda para a direita e de cima para baixo, mas se for especificada pelo outro parâmetro, essa ordem é invertida (de cima para baixo, da esquerda para a direita).
Outra maneira é pela função layout(). Ela possui a mesma idéia descrita acima, só que com algumas diferenças, entre elas, permitir a criação das regiões com diferentes tamanhos. A função layout() solicita como argumento, uma matriz de valores inteiros, que indicarão qual linha e coluna cada figura ocupará. Para uma melhor visualização, existe a função layout.show() que cria uma figura indicando como foi feita a divisão da página. A ordem pode ser alterada, assim como o tamanho de cada divisão. Veja a Figura 12.
(a) (b) 1 2 3 4 5 6 1 2 3 4 5 6 (c) (d) 1 2 3 1 2 3 (e) (f) 1 2 1 2
A divisão da janela gráfica como na figura (a) pode ser obtida com o comando
layout(matrix(c(1,2,3,4,5,6), 3, 2, byrow = TRUE)) ou par(mfrow=c(3,2)). O
gráfico da figura (a), que mostra o resultado do uso do comando layout é obtido com o
comando layout.show(6). Para a figura (b), similarmente temos layout(matrix(c(1,2,3, 4,5,6), 3, 2)) e layout.show(6). As figuras (c), (d), (e), (f) são obtidas com os comandos
respectivamente, a seguir layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE)); layout(matrix(c(1,1,2,3), 2, 2)); layout(matrix(c(1, 2), ncol=1), 1, c(2,1)) #,heights = c(2, 1),respect=F); layout(matrix(c(1, 2), ncol=1), lcm(5), c(2,1)) #,heights = c(2, 1),respect=F). O comando layout()pode ser precedido pelo
comando par para especificção das margens da figura (comandos mar ou mai).
A função split.screen() é outra alternativa interessante de se dividir a janela, e mais detalhes podem ser vistos em Murrel (2006).
2.3.4 Abertura e controle de janelas gráficas.
O uso da função x11() abre uma nova janela gráfica. Para listar as janelas que estão abertas, pode-se usar a função dev.list(). Se quiser direcionar um gráfico para uma especifica
janela, por exemplo, a janela 3 usa-se ante da construção do gráfico, a função dev.set(3).
3- Resultados
3.1 Exemplos
O banco de dados usado para construção dos exemplos foi “Dados do questionário
estudantil (Tabela 1.1)", Magalhães e Lima (2001), que está disponível no site
http://www.ime.usp.br/~noproest/. Serão abordados vários tipos de gráficos e de possibilidades
de parâmetros gráficos para ilustrar diversas opções.
3.1.1 Exemplo 1 – Histogramas
São abordadas algumas mudanças gráficas possíveis no software R construção de histogramas, como: mudança de cor de todos os elementos (titulo, preenchimento, legendas e etc), inserção de legendas com fórmulas, criação de linhas marcando média e mediana, mudança do estilo dessas linhas e alteração de tamanho dos textos. As Figuras 13, 14 e 15 apresentam esses exemplos.
Histogram of Alt Alt F reque ncy 1.5 1.6 1.7 1.8 02 46 8 1 0 1 2 Histograma de Altura Alt F reque ncy 1.5 1.6 1.7 1.8 02 46 8 1 0 1 2 Comandos: > hist(Alt) > hist(Alt,main="Histograma de Altura",col.main="blue",col.axis="red", col.lab="purple",border="yellow",col=rainbow(8))
Figura 13: Histograma de Altura
Histograma de Alturas do Sexo Masculino
Altura F req uen ci a 1. 7 0 1. 7 5 1. 8 0 1. 8 5 0 1 2 3 4 5
Histograma de Alturas do Sexo Feminino
Altura F req uen ci a 1. 5 1. 6 1. 7 1. 8 0246 8 1 0 Comandos:
> hist(Alt,main="Histograma de Alturas do Sexo
Masculino",col=cm.colors(3),col.main="blue",ylab="Frequencia",xlab="Altura" ,las=2, col.lab="darkblue",col.axis="darkgreen")
> hist(Alt,main="Histograma de Alturas do Sexo
Feminino",col=terrain.colors(8),col.main="pink",ylab="Frequencia", xlab="Altura", col.axis="green",col.lab="lightpink",las=3)
Figura 15: Histograma dos pesos com media e mediana
Histograma dos Pesos
Peso F reque nc ia 40 50 60 70 80 90 100 0 5 10 15 20 Formulas x=∑ i=1 50xi 50 x ^ = median(xi, i = 1, 50) Comandos: >hist(Peso,main="Histograma dos Pesos",col.main="3",col=topo.colors(6),las=1,col.axis="purple",ylab="Frequencia") >abline(v = mean(Peso), col=1, lty=4, lwd=2)
>abline(v = median(Peso), col=2, lty=2, lwd=2)
>ex12 <- expression(bar(x) == sum(over(x[i], 50), i==1, 50), hat(x) == median(x[i], i==1,50))
>legend("right", ex12,col=1:2 , lty=4:2, title="Formulas",cex=0.75)
3.1.2 Exemplo 2- Box-plot
Da mesma maneira, são apresentadas mudanças gráficas aplicadas ao box-plot, como: mudança de cor de todos os elementos (titulo, preenchimento, legendas e etc), mudança do tamanho dos outliers e o formato dos mesmos, como mostra a Figura 16.
box-plot de Peso 50 60 70 8 0 90 50 60 70 80 90 Comandos: > boxplot(Peso) >boxplot(Peso,main="box-plot de Peso",col="lightblue",cex=1.5,pch=5,las=1,
col.axis="green",col.main="darkred")
Figura 16: Box-plot de peso
3.1.3 Exemplo 3 – Gráfico de Dispersão
Neste exemplo são apresentadas mudanças gráficas para gráfico de dispersão, como a mudança de cor de todos os elementos (titulo, preenchimento, legendas e etc), separação dos pontos alterando sua cor, alteração do tamanho dos pontos e alteração do formato da caixa que envolve o gráfico. A Figura 17 mostra essas possibilidades.
18 20 22 24 1. 5 1 .7 Idade Al t 18 20 22 24 1.5 1.6 1.7 1.8
Grafico de Dispersão Altura vs. Idade
Idade Al tu ra Comandos: > plot(Idade) > plot(Idade,Alt)
> plot(Idade,Alt,main="Grafico de Dispersão Altura vs.
Idade",ylab="Altura",xlab="Idade", pch=25,bty="u",las=1,cex=0.5,
col.main="lightgray",col.axis="brown",col.lab="blue",cex.main=2,cex.axis=2,bg = c("red", "blue")[unclass(x$Sexo)])
Figura 17: Gráfico de dispersão: Altura vs Idade
3.1.4 Exemplo 4 – Gráficos de Barras
Nestes exemplos são apresentadas alterações para gráficos de barras, como a mudança de cor de todos os elementos (título, preenchimento, legendas, etc), inserção de legendas, alteração do preenchimento do gráfico (ângulo do tracejado e densidade) e alteração do posicionamento da legenda. As Figuras 18, 19 e 20 mostram essas possibilidades.
NAO SIM 0 1 02 0 3 04 0 NAO SIM Barplot de Fumantes 0 10 20 30 40 Comandos: > barplot(table(Fuma))
>barplot(table(Fuma),col=topo.colors(2),main="Barplot de Fumantes",c ol.main="green", las=1,col.axis="red")
Figura 18:Barplot de Fumantes
B M N R 01 0 2 0 3 0 B M N R Bom Muito Bom Normal Regular Barplot de Opnião de TV 01 0 2 0 3 0 Comandos: >barplot(table(OpTV))
>barplot(table(OpTV),main="Barplot de Opnião de TV",angle=60,density=10, col=rainbow(4), col.main="darkblue",legend.text = c("Bom","Muito
Bom","Normal","Regular"), args.legend = list(x = "topleft"))
I M P 0 5 10 15 2 0 I M P Indiferente Muito Pouco
Barplot de Tolerancia de Cigarro
0 5 10 15 20 Comandos: >barplot(table(Toler))
>barplot(table(Toler),col=heat.colors(3),angle=25, density=40,main="Barplot de Tolerancia de Cigarro",col.main="lightblue",col.axis="green",las=1,legend.text =
c("Indiferente","Muito", "Pouco"),args.legend = list(x = "topleft"))
Figura 20: Barplot de Tolerância de Cigarro
3.1.5 Exemplo 5 – Gráficos de Setores
Neste exemplo são apresentadas mudanças gráficas para gráficos de setores, como a mudança de cor de todos os elementos (título, preenchimento, legendas e etc), inserção de legendas, alteração do gráfico para o formato 3D, espaçamento das fatias dos gráficos, e inserção de quantidade e porcentagem em cada fatia do gráfico. A Figura 21 mostra essas possibilidades.
NAO 44
SIM 6
Gráfico 1.1 - Pie Chart de Fumantes (com tamanho da amostra)
B M N
R
Gráfico 1.2 - Pie Chart de OpTV
Gráfico 2.1 - Pie Chart de Sexo
Feminino
Masculino
Gráfico 2.2 - Pie Chart de Tolerancia ao Cigarro
Indiferente
Muito
Pouco
Comandos: >par(mfrow=c(2,2),mar=c(2,2,2,0.5), oma=c(1.5,2,1,1)) >mytable <- table(x$Fuma)>lbls <- paste(names(mytable), "\n", mytable, sep="")
>pie(mytable, labels = lbls, main="Gráfico 1.1 - Pie Chart de Fumantes\n (com tamanho da amostra)",col.main="pink",col=topo.colors(2))
>lbls <- c("B","M","N","R")
>pie(table(OpTV),labels=lbls,main="Gráfico 1.2 - Pie Chart de OpTV", col.main="green", explode=0.4)
>lbls <- c("Feminino","Masculino")
>pie3D(table(Sexo),labels=lbls,main="Gráfico 2.1 - Pie Chart de Sexo",col.main="green")
>lbls <- c("Indiferente","Muito","Pouco")
>pie3D(table(Toler),labels=lbls,main="Gráfico 2.2 - Pie Chart de Tolerancia ao Cigarro",explode=0.2,col.main="Yellow",col=terrain.colors(3))
Figura 21:Exemplos de Gráfico de Setor
3.1.6 Exemplo 6 – Alteração da área da janela gráfica
Neste exemplo foi gerada uma amostra de Poisson, com a intenção de mostrar as mudanças
Histogram of x 0 2 4 6 8 0 5 1 0 15 20 02 46 8 0 1 2 3 4 5 6 7 8 Comandos: > x<-rpois(100,3) > par(mar=c(3,2,2,1))
> layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE)) > hist(x)
> boxplot(x) > pie(table(x))
Figura 22: Mudanças na Área dos Gráficos
Referências
- BUSSAB, W., O., MORETTIN, P. A. Estatística Básica, 5ª. edição, São Paulo: Editora Saraiva, 2002.
- MAGALHÃES, M., N., LIMA, A. C. P. Noções de Probabilidade e Estatística, 3ª. edição, São Paulo: IME USP, 2001.
Março/97, No 01.
. CARVALHO, E. P.; DINIZ, C. A. R. "Introdução a Experimentos com Misturas". Abril/97, No 02.
. MASCARENHAS, M.R; BARRETO, M.C.M.; ARAGÃO, F.J.O.S.; PAULA, V.A. "Estatística Usando Excel". Agosto/97, No 03.
. FERREIRA FILHO, P.; BERETA, E.M.P.; RIBEIRO, F.B.; “Tabela de Burt”. Maio/1998, No
04. . DINIZ, C.A.R.; OISHI, J. “EVOP - Operação Evolutiva”, Junho/1998, N0
05. . OLIVEIRA, L. A. “Introdução à Biometria - Epidemiologia”, Agosto/1998, No
06.
. BARRETO, M.C.M.; GOMES, A.Z.; VALÉRIO, E.M.; SILVA, F.C.; BATISTELA, J.A.; DRIUSSO, P.; CEMBRANELI, R.C. "Introdução ao Epi-Info 6". Abril/99, No 07.
. OLIVEIRA, L.A. “Probabilidade e Estatística para Engenherios: Idéias Iniciais de Planejamento de Experimento”. Novembro/99, Nº 08.
. LEITE, J.G. "Introdução à Inferência Bayesiana". Março/2000, Nº 09. . MILAN, L.A. "Introdução à Linguagem S-plus". Maio/2000, Nº 10.
. OLIVEIRA, L.A. "Probabilidade e Estatística para Engenheiros: idéias iniciais de amostragem". Agosto/2000, Nº 11.
. LOUZADA-NETO, F.; DINIZ, C.A.R. "Uma Introdução ao Data Mining". Setembro/2000, Nº 12.
. OLIVEIRA, L.A. “Introdução à Demografia”. Agosto/2001, Nº 13.
. OLIVEIRA, L.A. “Introdução à Análise Estatística de Dados”. Agosto/2001, Nº 14.
. MARTINEZA, E.Z.; LOUZADA-NETO, F.; PEREIRA, B.B. “Análise de Testes Diagnósticos Via Curva ROC”. Março/2002, Nº 15.
. TORRES, C.A.D; CANDOLO, C. “Construção de Gráficos no SAS”. Agosto/2003, Nº 16. . OLIVEIRA, L.A. “Introdução à Demografia: Análise por Período”. Outubro/2003. Nº 17.
. BARRETO, M.C.M. “Amostragem no Meio Ambiente: Amostragem por Transectos”. Março/2004. Nº 18.
. OLIVEIRA, L.A.; DESIDERÁ, L.C. “O Uso de Transformações na Análise Estatísttica de Dados – Uma Introdução”. Dezembro/2004. Nº 19.
. OLIVEIRA, L.A. “Introdução à Demografia: Análise de Mortalidade”. Janeiro/2005. Nº 20. . OLIVEIRA, L.A. “Alisamento de Seqüências ou Séries por Filtros Resistentes”. Junho/2005.
Nº 21.
. TORRES, C.A.D; CANDOLO, C. “Uso do Enterprise Miner Software do SAS”. Outrubro/2005, Nº 22.
. VITTE, D.C.C.; CANDOLO, C. “Acess para Estatística”. Novembro/2005, Nº 23.
. FRANCO, M. A. P.; MANTOVANI, A.; “Estudo por Simulação da Distribuição de Estimadores por Máxima Verossimilhança na Presença de Censura”. Janeiro/2006, N.º24.
. LOUZADA - NETO, F.; “Modelagem Temporal em Credit Scoring: Uma Nova Alternativa à Modelagem Tradicional via Análise de Sobrevivência”. Fevereiro/2006, Nº 25
. LOUZADA-NETO; F.; DINIZ; C. A. R.; “Aumentando a Capacidade Preditiva da Modelagem de Credit Scoring via combinação de Preditores – Uma Introdução”. Outubro/2007, Nº 26 . MARCELINO, J.L.S., TOMAZELLA, V. L. D. “Sequências de Passos para Análise de Dados