ana´lise gra´fica com uso do r - ufpraanjos/ce231/web/apostila.pdf · curitiba, 10 de novembro de...

136
AN ´ ALISE GR ´ AFICA COM USO DO R ©Adilson dos Anjos Departamento de Estat´ ıstica - UFPR - Curitiba, 10 de novembro de 2006.

Upload: others

Post on 07-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

ANALISE GRAFICA

COM USO DO R

©Adilson dos Anjos

Departamento de Estatıstica

- UFPR -

Curitiba, 10 de novembro de 2006.

Page 2: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

i

Apresentacao

O objetivo dessa disciplina e fomentar o uso da analise grafica com o uso do

software R. Nao sera dado enfoque em tecnicas quantitativas de analise de dados,

mas, em alguns momentos essa associacao e de certa forma indispensavel.

Alem das tecnicas graficas usuais, pretende-se incentivar o uso de alternativas

de analise e interpretacao de dados estatıticos. O R, pelas suas caracterısticas de

programacao, permite que sejam criados varios tipos de analise grafica, seja uma

nova metodologia ou uma combinacao de metodologias ja existentes.

Por fim, pretende-se que o aluno desenvolva a capacidade de utilizar metodo-

logias graficas para analise de dados estatısticos utilizando o software R.

Page 3: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

Sumario

Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii

Lista de figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Lista de tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

I Manipulacao de graficos no R 2

1 Sessao inicial 3

1.1 Gerenciamento das atividades . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1 Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Graficos no R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.1 Tipos de saıdas graficas . . . . . . . . . . . . . . . . . . . . . 8

1.2.2 Linhas, pontos e texto . . . . . . . . . . . . . . . . . . . . . . 8

1.2.3 Cores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.2.4 Segmentos, flechas, abline . . . . . . . . . . . . . . . . . . . . 19

1.2.5 Retangulos, polıgonos e cırculos . . . . . . . . . . . . . . . . . 23

1.2.6 Regioes do grafico . . . . . . . . . . . . . . . . . . . . . . . . . 27

1.2.7 Arranjo de graficos . . . . . . . . . . . . . . . . . . . . . . . . 33

1.2.8 Texto nas margens - mtext() . . . . . . . . . . . . . . . . . . . 35

1.2.9 Eixos e o comando mgp . . . . . . . . . . . . . . . . . . . . . 35

1.2.10 Controle de janelas graficas . . . . . . . . . . . . . . . . . . . 37

ii

Page 4: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

SUMARIO iii

1.2.11 Fomulas matematicas . . . . . . . . . . . . . . . . . . . . . . . 38

1.2.12 Explorando o plot . . . . . . . . . . . . . . . . . . . . . . . . . 39

1.2.13 Legendas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

1.2.14 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

II Graficos estatısticos 47

2 Graficos estatısticos 48

2.1 Explorando Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.1.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2 Apresentacao de Graficos . . . . . . . . . . . . . . . . . . . . . . . . . 49

2.2.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

2.2.2 Percepcao grafica . . . . . . . . . . . . . . . . . . . . . . . . . 49

2.2.3 Classificacao de graficos . . . . . . . . . . . . . . . . . . . . . 50

2.2.4 Princıpios basicos de um grafico . . . . . . . . . . . . . . . . . 50

2.2.5 Elementos de um grafico . . . . . . . . . . . . . . . . . . . . . 51

2.2.6 Recomendacoes gerais para elaborar um grafico . . . . . . . . 51

2.2.7 Erros mais comuns em graficos . . . . . . . . . . . . . . . . . 52

2.2.8 Objetivo de um grafico . . . . . . . . . . . . . . . . . . . . . . 53

2.2.9 Numeracao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

2.2.10 Tıtulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

2.2.11 Fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

2.2.12 Escala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

2.2.13 Diferenca de linhas . . . . . . . . . . . . . . . . . . . . . . . . 54

2.2.14 Apresentacao . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

2.3 Graficos univariados . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Page 5: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

iv SUMARIO

2.3.1 Ramo-e-folhas . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

2.3.2 Box-Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

2.3.3 Graficos de setores ou circulares . . . . . . . . . . . . . . . . . 59

2.3.4 Grafico de barras . . . . . . . . . . . . . . . . . . . . . . . . . 64

2.3.5 Histograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

2.3.6 Funcoes rug e jitter . . . . . . . . . . . . . . . . . . . . . . . . 74

2.3.7 Graficos de dispersao ou Scatter plots . . . . . . . . . . . . . . 76

2.4 Mais graficos exploratorios . . . . . . . . . . . . . . . . . . . . . . . . 80

2.4.1 ballonplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

2.4.2 pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

2.4.3 bpplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

2.4.4 ecdf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

2.4.5 O grafico Normal de Probabilidade . . . . . . . . . . . . . . . 85

2.4.6 Curvas de densidades . . . . . . . . . . . . . . . . . . . . . . . 92

2.4.7 coplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

2.4.8 Graficos para representacao de superfıcie de resposta . . . . . 97

2.5 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

3 Graficos para dados georeferenciados 108

3.0.1 Graficos para dados georeferenciados . . . . . . . . . . . . . . 108

3.0.2 Trabalhando com Mapas . . . . . . . . . . . . . . . . . . . . . 114

3.1 Criando um Pictograma . . . . . . . . . . . . . . . . . . . . . . . . . 122

3.1.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Page 6: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

Lista de Figuras

1.1 Um grafico para treinar. . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Uso da funcao segments(). . . . . . . . . . . . . . . . . . . . . . . . . 20

1.3 Uso da funcao arrows(). . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.4 Uso da funcao abline(). . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.5 Uso da funcao polygon(). . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.6 Uso da funcao polygon() com a distribuicao Normal. . . . . . . . . . 26

1.7 Uso da funcao symbol() para cırculos. . . . . . . . . . . . . . . . . . . 27

1.8 Uso da funcao symbol() para cırculos. . . . . . . . . . . . . . . . . . . 28

1.9 . Regioes de um dispositivo grafico no R. . . . . . . . . . . . . . . . . 29

1.10 . Multiplas regioes de um dispositivo grafico no R. . . . . . . . . . . . 30

1.11 . Exemplos de oma, omi e omd. . . . . . . . . . . . . . . . . . . . . . 31

1.12 . Dimensoes de um grafico. . . . . . . . . . . . . . . . . . . . . . . . . 32

1.13 . Margens da regiao da figura no R. . . . . . . . . . . . . . . . . . . . 36

1.14 . Margens externas da figura no R. . . . . . . . . . . . . . . . . . . . 37

1.15 . Inserindo texto nas margens. . . . . . . . . . . . . . . . . . . . . . . 38

1.16 . Inserindo formulas no grafico. . . . . . . . . . . . . . . . . . . . . . 39

1.17 . Inserindo legendas no grafico. . . . . . . . . . . . . . . . . . . . . . 42

1.18 Exercıcio sobre texto. . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

1.19 Exercıcio sobre cores e polıgonos. . . . . . . . . . . . . . . . . . . . . 45

v

Page 7: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

vi LISTA DE FIGURAS

1.20 Exercıcio sobre cores e polıgonos. . . . . . . . . . . . . . . . . . . . . 46

2.1 Grafico Box-Plot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

2.2 .Grafico Box-Plot com cores. . . . . . . . . . . . . . . . . . . . . . . . 60

2.3 Grafico de Setores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

2.4 Grafico de Setores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

2.5 Grafico de Setores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

2.6 Grafico de Barras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

2.7 Grafico de Barras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

2.8 Grafico de Barras a partir de uma tabela. . . . . . . . . . . . . . . . . 68

2.9 Grafico de Barras a partir de uma tabela - inversao . . . . . . . . . . 69

2.10 Grafico de Barras a partir de uma tabela - legenda. . . . . . . . . . . 70

2.11 Grafico de Barras a partir de uma ’matriz’. . . . . . . . . . . . . . . . 71

2.12 Histograma simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

2.13 Histograma simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

2.14 Histograma com probabilidades. . . . . . . . . . . . . . . . . . . . . . 74

2.15 Histograma com identificacao. . . . . . . . . . . . . . . . . . . . . . . 75

2.16 Grafico de dispersao - Stripchart. . . . . . . . . . . . . . . . . . . . . 77

2.17 Stripchart com grupos. . . . . . . . . . . . . . . . . . . . . . . . . . . 78

2.18 Stripchart com grupos e medias. . . . . . . . . . . . . . . . . . . . . . 79

2.19 Dotchart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

2.20 Dotchart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

2.21 Dotchart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

2.22 Baloonplot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

2.23 Multiplos graficos de dispersao. . . . . . . . . . . . . . . . . . . . . . 84

2.24 Grafico boxplot com percentis. . . . . . . . . . . . . . . . . . . . . . . 85

Page 8: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

LISTA DE FIGURAS vii

2.25 Grafico ecdf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

2.26 Grafico da distribuicao Normal. . . . . . . . . . . . . . . . . . . . . . 86

2.27 Grafico da distribuicao Normal acumulada. . . . . . . . . . . . . . . . 87

2.28 Grafico dos efeitos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

2.29 Grafico Normal de Probabilidade. . . . . . . . . . . . . . . . . . . . . 92

2.30 Grafico Normal de Probabilidade - datax=T. . . . . . . . . . . . . . . 93

2.31 Uso da funcao curve para Distribuicao Normal. . . . . . . . . . . . . 94

2.32 Uso da funcao curve para Distribuicao Weibull. . . . . . . . . . . . . 95

2.33 Uso da funcao curve para Distribuicao Gamma. . . . . . . . . . . . . 96

2.34 Uso do coplot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

2.35 Uso do coplot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

2.36 Grafico de uma superfıcie de resposta. . . . . . . . . . . . . . . . . . 100

2.37 Grafico de uma curva de nıvel. . . . . . . . . . . . . . . . . . . . . . . 101

2.38 Grafico de cores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

2.39 Grafico com representacao do ponto de maximo. . . . . . . . . . . . . 103

2.40 Primeiro histograma. . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

2.41 Segundo Histograma. . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

2.42 Polıgono de Frequencia. . . . . . . . . . . . . . . . . . . . . . . . . . 106

2.43 Grafico boxplot com rug. . . . . . . . . . . . . . . . . . . . . . . . . . 107

3.1 Grafico de dispersao. . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

3.2 Grafico de dispersao de um objeto da classe sp. . . . . . . . . . . . . 111

3.3 Grafico de bolhas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

3.4 Grafico de cores para pontos. . . . . . . . . . . . . . . . . . . . . . . 115

3.5 Grafico image. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

3.6 Grafico de bolhas [Please insert into preamble] dados meuse. . . . . . 117

Page 9: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

viii LISTA DE FIGURAS

3.7 Grafico distancias do rio. . . . . . . . . . . . . . . . . . . . . . . . . . 118

3.8 Grafico distancias do rio com pontos. . . . . . . . . . . . . . . . . . . 119

3.9 Grafico do rio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

3.10 Mapa mundial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

3.11 Mapa da Franca. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

3.12 Mapa da Italia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

3.13 Mapa dos Estados Unidos. . . . . . . . . . . . . . . . . . . . . . . . . 124

3.14 Mapa dos Estados Unidos com estados. . . . . . . . . . . . . . . . . . 125

3.15 Mapa do Brasil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

3.16 Mapa do Brasil com a capital. . . . . . . . . . . . . . . . . . . . . . . 127

Page 10: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

Lista de Tabelas

1.1 Funcoes graficas de alto nıvel. . . . . . . . . . . . . . . . . . . . . . . 6

1.2 Funcoes graficas de baixo nıvel. . . . . . . . . . . . . . . . . . . . . . 7

1.3 Conjuntos de cores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.1 Estimativas de efeitos de um experimento 24 . . . . . . . . . . . . . . 89

2.2 Calculo dos Percentuais Pi . . . . . . . . . . . . . . . . . . . . . . . . 89

1

Page 11: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

Parte I

Manipulacao de graficos no R

2

Page 12: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

Capıtulo 1

Sessao inicial

Sumario

1.1 Gerenciamento das atividades . . . . . . . . . . . . . . . . 3

1.2 Graficos no R . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.1 Gerenciamento das atividades

Para gerenciar os materiais produzidos durante o curso, sugere-se que cada

aluno crie um diretorio dentro da sua area de trabalho:

$ mkdir ce231

$ cd ce231

$ R

Assim, todas as tarefas realizadas com o R ficara armazenadas nesse diretorio.

Toda vez que iniciar um sessao de trabalho, entre nesse diretorio, e abra o R.

Nao se esqueca de, ao final, salvar sua sessao de trabalho.

> q()

Save workspace image? [y/n/c]: y

3

Page 13: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

4 CAPITULO 1. SESSAO INICIAL

1.1.1 Emacs

Se voce possui algum conhecimento sobre o Emacs e recomendavel utiliza-lo

durante a utilizacao do conteudo desse material. Alem de agilizar alguns comandos

e possıel fazer comentarios e modificar funcoes graficas mais facilmente.

No caso de utilizar o sistema operacional Windows, voce pode utilizar um

script de forma semelhante ao Emacs.

1.2 Graficos no R

No R existem pacotes graficos (packages) que geram os graficos propriamente

ditos e, alem disso, existem diversos outros pacotes que possuem funcoes graficas

especıficas. Existem ainda, os sistemas graficos que implementam outras funcionali-

dades aos graficos gerados pelos diferentes pacotes. Ainda, esses sistemas permitem

integrar os pacotes graficos, atraves de funcoes no pacote grDevices, possibilitando

uma maior versatilidade de trabalho com cores e tipos de fontes, por exemplo.

No R existem tres tipos de funcoes graficas:

• funcoes de alto nıvel (high-level), que produzem graficos completos;

• funcoes de baixo nıvel (low-level), que adicionam informacoes a um grafico

existente e,

• funcoes para trabalhar interativamente com graficos.

Existem muitos pacotes que trabalham com funcionalidades graficas no R.

Por isso, antes de tentar criar algo novo, faca uma busca detalhada no site do R,

principalemnte nas listas de emails do site do R e na internet.

Funcoes de “alto nıvel”

As funcoes de alto nıvel podem ser aplicadas atraves do comando par() ou

como argumentos em funcoes graficas como plot(), por exemplo. Experimente ver

quais sao as opcoes da funcao par(). Para isso, digite o seguinte comando no R:

Aparecera no arquivo de ajuda, uma lista das opcoes que podem ser utilizadas,

os possıveis valores de cada uma e, no final, alguns exemplos de aplicacao. Na tabela

1.1, sao apresentadas algumas dessas funcoes. Experimente aplica-las em um grafico!

Page 14: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 5

Antes de iniciar com um exemplo, e recomendavel ’salvar’ a configuracao ori-

ginal da funcao par().

> op <- par()

Para restaurar a funcao original, apos ter experimentado os comandos da tabela

1.1, basta utilizar

> par(op)

Como sugestao, tente aplicar as opcoes da funcao par() no grafico:

Figura 1.1: Um grafico para treinar.> plot(pressure, main = "Press~ao versus temperatura", sub = "Dados do R")

0 50 100 150 200 250 300 350

020

040

060

080

0

Pressão versus temperatura

Dados do Rtemperature

pres

sure

Para ver quais sao os parametros atuais, definidos pela funcao par(), digite o

seguinte:

Page 15: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

6 CAPITULO 1. SESSAO INICIAL

Tabela 1.1: Funcoes graficas de alto nıvel.Funcao descricaoadj justificacao de textoann insercao de tıtulosbg cor de fundobty tipo de caixa do graficocex tamanho do textocex.axis tamanho do ’tick’ dos eixoscex.lab tamanho dos nomes dos eixoscex.main tamanho do tıtulo do graficocex.sub tamanho do sub-tıtulo do graficocol cor de linhas e sımboloscol.axis cor do ’tick’ dos eixoscol.lab cor dos nomes dos eixoscol.main cor do tıtulo do graficocol.sub cor do sub-tıtulofg cor das linhas externasfont fonte para textofont.axis fonte para ’tick’ dos eixosfont.lab fonte para nome dos eixosfont.main fonte para o tıtulofont.sub fonte para o subtıtulogamma correcao para coreslab numero de ’ticks’ nos eixoslas rotacao de textos nas margens dos eixoslty tipo de linhalwd largura da linhamgp localizacao de ’ticks’ e nomes de ’ticks’pch tipo de sımbolosrt rotacao de de texto na regiao do plottck comprimento dos ’ticks’ (em relacao ao grafico)tcl comprimento dos ’ticks’ (em relacao ao texto)tmag tamanho do tıtulo do grafico (em relacao a outros nomes)type tipo de grafico (pontos, linhas, ambos)xaxp numero de ’ticks’ sobre eiso ’x’xaxs calculo da amplitude de escal do eixo xxaxt estilo do eixo x (padrao ou nenhum)yaxp numero de ’ticks’ sobre eiso ’y’yaxs calculo da amplitude de escal do eixo yyaxt estilo do eixo y (padrao ou nenhum)

> par(c("bty", "ann"))

$bty

Page 16: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 7

[1] "o"

$ann

[1] TRUE

As mudancas efetuadas atraves da funcao par() permanecem inalteradas ate

que outra mudanca seja efetuada nessa funcao. Ou seja, para qualquer grafico

gerado a partir de uma nova configuracao da funcao par(), todos terao as mesmas

caracterısticas. Se a mudanca for efetuada atraves da funcao plot(), por exemplo,

essa mudanca sera temporaria e nao afetara novos graficos.

Funcoes de “baixo nıvel”

As funcoes de “baixo nıvel”, ao contrario da anterior, podem ser modificadas

apenas atraves da funcao par(). Estas funcoes sao listadas na tabela 1.2.

Tabela 1.2: Funcoes graficas de baixo nıvel.Funcao descricaoask perguntar antes de criar um novo graficofamily famılia da fonte de textomfcol numero de figuras na paginamfrow numero de figuras na paginamfg define a figura atualnew novo grafico em um regiao da figura

Ainda existem outras funcoes de ‘baixo nıvel’ que tratam de margens e locali-

zacao de figuras dentro da regiao do grafico que serao tratadas mais adiante.

Experimente utilizar alguns dos exemplos a seguir, para treinar o uso de algu-

mas funcoes da tabela 1.2:

> plot(pressure)

> par(mfrow = c(1, 2))

> plot(pressure)

> plot(pressure)

> par(mfrow = c(2, 1))

> plot(pressure)

> plot(pressure)

Page 17: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

8 CAPITULO 1. SESSAO INICIAL

> plot(pressure, cex = 1.5)

> par(new = TRUE)

> plot(pressure)

> par(mfrow = c(1, 2))

> plot(pressure)

> plot(pressure)

> text(100, 400, "la")

> par(mfg = c(1, 1))

> text(100, 300, "aqui")

A funcao text() e utilizada aqui para adicionar um texto no grafico.

Consulte outras opcoes da funcao par() e experimente altera-las no grafico

anterior!

1.2.1 Tipos de saıdas graficas

Os graficos gerados no R podem ser salvos em diferentes formatos de arquivo:

postscript, pdf, pictex (LATEX), xfig, bitmap, png e jpeg e exclusivamente no

Windows, win.metafile e bmp.

No R, uma ’saıda’ grafica e direcionada para um dispositivo em particular, que

gerencia o formato do arquivo que sera criado. Assim, quando deseja-se que uma

saıda grafica seja salva, deve-se abrir um dispositivo grafico, para receber essa saida,

e depois esse dispositivo deve ser fechado.

Veja o seguinte exemplo para gerar um simples grafico no formato postcript:

> postscript("meugrafico.ps")

> plot(uspop)

> dev.off()

1.2.2 Linhas, pontos e texto

As funcoes lines(), points() e text() permitem inserir, em um grafico, li-

nhas, pontos e texto, respectivamente. Para saber quais opcoes podem ser utilizadas,

utilize a opcao de ajuda de cada uma das funcoes.

Page 18: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 9

> x <- 1:5

> y <- 1:5

> par(family = "", mfrow = c(1, 1))

> plot(x, y, type = "n")

> text(1.5, 1, "fonte", font = 1)

> text(2.5, 2, "fonte", font = 2)

> text(3.5, 3, "fonte", font = 3)

> text(4.5, 4, "fonte", font = 4)

1 2 3 4 5

12

34

5

x

y

fonte

fonte

fonte

fonte

Linhas

Os dois principais comandos relacionados com linhas sao lty e lwd. O primeiro

controla o tipo de linha: solida, pontilhada. O segundo, controla a largura da linha.

A largura da linha e especificada por um numero, por exemplo lwd=2. Esse

valor varia com o tipo de dispositivo empregado para visualizacao. Na tela de um

monitor, o numero 1, por exemplo, representa um pixel. Veja alguns exemplos a

seguir.

No R e possıvel, alem de utilizar os formatos pre-definidos de linhas em lty,

Page 19: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

10 CAPITULO 1. SESSAO INICIAL

> x <- 1:9

> y <- 1:9

> plot(x, y, type = "n")

> lines(c(2, 8), c(8, 8), lwd = 2)

> lines(c(2, 8), c(7, 7), lty = 2, lwd = 2)

> lines(c(2, 8), c(6, 6), lty = 3, lwd = 2)

> lines(c(2, 8), c(5, 5), lty = 4, lwd = 2)

> lines(c(2, 8), c(4, 4), lty = 5, lwd = 2)

> lines(c(2, 8), c(3, 3), lty = 6, lwd = 2)

2 4 6 8

24

68

x

y

utilizar versoes ’pessoais’. Esse formatos devem ser fornecidos como strings (entre

aspas). Um numero ımpar especifica o comprimento da linha e um numero par

especifica o tamanho do espaco vazio (gap).

Pontos

No R pode-se adicionar diferentes tipos de pontos em grafico. Basta definir

qual sımbolo deve ser utilizado entre os 26 disponıveis. Utiliza-se a funcao points().

Page 20: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 11

Ainda, e possıvel utilizar caracteres como sıbolos. Simplesmente, defina o sımbolo

entre aspas.

> x <- 1:10

> y <- 1:10

> plot(x, y, type = "n")

> points(1:10, rep(8, 10), pch = 0:9, col = 1:10, cex = 1.5)

> points(1:10, rep(6, 10), pch = 10:19, col = 1:10, cex = 1.5)

> points(1:10, rep(4, 10), pch = c(".", "a", "o", "v", "s",

+ "c", "&", "$", "@", "%"), col = 1:10, cex = 1.5)

2 4 6 8 10

24

68

10

x

y

a o v s c & $ @ %

Experimente utilizar a funcao show.pch() do pacote Hmisc,

> require(Hmisc)

> show.pch()

Page 21: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

12 CAPITULO 1. SESSAO INICIAL

Texto

Com a funcao text(), pode-se inserir textos no grafico. Nessa funcao deve-

se informar a posicao do texto, fornecendo as coordenadas em relacao a regiao do

grafico. Uma opcao util nessa funcao e adj, que indica a justificacao do texto. Nessa

opcao, 0 significa um alinhamento a esquerda, 0.5 centrado e 1 justificado a direita.

Ainda, na opcap adj, pode-se fornecer a informacao da forma c(hjust, vjust), onde

hjust indica o alinhamento horizontal e vjust um alinhamento vertical. Veja alguns

exemplos:

Quando um texto e muito longo ou deseja-se fazer a quebra de uma linha,

deve-se utilizar a opcao ‘\n’ no ponto de quebra de uma linha.

Comandos locator() e identify()

Estes comandos sao utilizados depois que os graficos sao criados.

• locator(): serve para encontrar as coordenadas de um ponto no grafico;

• identify(): serve para mostrar os nomes (labels) de pontos em um grafico.

locator()

Experimente usar o exemplo seguinte. Gere o grafico e depois, na janela grafica,

selecione um ponto com o ’mouse’ (de um ’clique’ dentro do grafico). Nesse momento,

aparecera na janela do R as coordenadas do ponto.

> x <- 1:10

> y <- 1:10

> plot(x, y, type = "n")

> locator(n = 1)

Agora, utilize o mesmo grafico, definindo a opcao com n = 2 e type=‘l’.

> locator(2, type = "l")

Com o ’mouse’, selecione dois pontos dentro do grafico.

Page 22: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 13

> x <- 1:10

> y <- 1:10

> plot(x, y, type = "n")

> points(seq(1, 9, by = 2), rep(5, 5), pch = "+", col = "gray",

+ cex = 2)

> text(1, 5, "c(0,0)", adj = c(0, 0))

> text(3, 5, "c(0,1)", adj = c(0, 1))

> text(5, 5, "c(1,0)", adj = c(1, 0))

> text(7, 5, "c(0,NA)", adj = c(1, NA))

> text(9, 5, "c(NA,NA)", adj = c(0.5, 0.5))

> text(5, 7, "rotacionado", adj = c(0, 0), srt = 45)

2 4 6 8 10

24

68

10

x

y

+ + + + +c(0,0)c(0,1)

c(1,0) c(0,NA) c(NA,NA)

rota

ciona

do

Experimente, tambem, utilizar outras opcoes para type (veja help(locator)).

A funcao locator(), tambem, pode ser utilizada em associacao com a funcao

points().

> points(locator(3), type = "l")

e com a funcao text(),

Page 23: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

14 CAPITULO 1. SESSAO INICIAL

> x <- 1:10

> y <- 1:10

> plot(x, y, type = "n")

> text(5, 6, "quando e necessaria uma \n quebra de linha",

+ adj = c(1, 1))

2 4 6 8 10

24

68

10

x

y

quando é necessária uma quebra de linha

> text(locator(1), "meu texto")

Da maneira a seguir, voce deve clicar duas vezes no grafico.

> text(locator(2), c("meu texto", "outro texto"))

Para cancelar o processo antes de localizar todos os pontos, aperte o botao

direito do ’mouse’. No Windows, apertando o botao direito e mostrada a opcao

’stop’.

Cuidado! Se a janela grafica for alterada antes que a total identificacao dos

pontos seja feita, os pontos desaparecem.

Page 24: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 15

identify()

Utiliza-se a funcao identify() para dar nomes aos pontos de um grafico. Para

utilizar essa funcao sao necessarias as coordenadas (x,y) e um vetor com nomes dos

pontos (string):

> identify(x, y, labels = nomes)

Como exemplo, considere o seguinte conjunto de dados e o respectivo grafico:

> nomes <- c("Jo~ao", "Pedro", "Paulo")

> salario <- c(400, 590, 730)

> vendas <- c(3000, 4500, 7200)

> plot(vendas, salario)

3000 4000 5000 6000 7000

400

450

500

550

600

650

700

vendas

sala

rio

Para identificar cada ponto no grafico, utilize a funcao identify() da seguinte

maneira:

> identify(vendas, salario, labels = nomes)

Page 25: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

16 CAPITULO 1. SESSAO INICIAL

Agora, clique proximo aos pontos para poder identificar cada um deles. Caso

nao deseje identificar todos, aperte o botao direito do ’mouse’.

Se o ponteiro do ’mouse’ ficar muito distante do ponto, aparecera uma mensa-

gem de aviso no R. Continue ’clicando’ ate conseguir se aproximar do ponto desejado.

1.2.3 Cores

Existem, basicamente, tres maneiras de definir cores nos graficos. Pode-se

utilizar os comandos fg, bg e col. A funcao col possui variacoes, podendo ser

aplicada em varias situacoes, como mudanca de cor de eixos, tıtulos etc, como visto

na tabela 1.1.

Dependendo do local onde a funcao col e utilizada, ela pode funcionar de

diferentes maneiras. Por exemplo, dentro da funcao plot() ela pode ser utilizada

para colorir sımbolos, texto, linhas. Ja, dentro da funcao barplot() ela e utilizada

para colorir as barras.

A funcao fg e utilizada para colorir eixos e bordas. Observe que, essa opcao

pode causar alguma sobreposicao de cores se utilizada junto com comandos especı-

ficos de cores para eixos e texto do tipo col.axis, col.main.

A funcao bg e utilizada para controlar a cor de fundo de um grafico.

Para especificar uma cor, pode-se utilizar numeros ou strings (nome da cor).

Por exemplo, ’blue’ indica que a cor azul foi definida. No R existem 657 nomes de

cores para serem utilizados. Experimente a opcao colors() para ver os nomes de

cores disponıveis. A funcao palette() tambem fornece alguns nomes de cores.

Experimente utilizar a seguinte funcao do pacote Hmisc:

Outras formas de especificar cores

A funcao rgb() permite que sejam especificadas cores como uma combinacao

de VERMELHO-VERDE-AZUL (Red,Green,Blue). por exemplo, a cor vermelha e

especificada como rgb(1,0,0).

Se voce quer saber qual sao os numeros que devem ser fornecidos para uma

determinada cor, utilize a funcao col2rgb(). Veja o exemplo a seguir:

> col2rgb("green")

Page 26: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 17

> show.col()

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

[,1]

red 0

green 255

blue 0

> col2rgb("gray")

[,1]

red 190

green 190

blue 190

Os valores da funcao rgb() tambem podem ser fornecidos na forma de um

string #RRGGBB, em que cada par corresponde a um numero de 0 a 255(FF).

A funcao rgb() possui uma opcao maxColorValue que define a amplitude de

variacao dos numeros.

Veja o exemplo, a seguir, para ver como utilizar cores com rgb (aproveite para

conhecer a funcao rect()):

Page 27: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

18 CAPITULO 1. SESSAO INICIAL

> plot(c(100, 200), c(300, 450), type = "n", xlab = "", ylab = "")

> rect(100, 300, 125, 350)

> rect(100, 400, 125, 450, col = "green", border = "blue")

> rect(115, 375, 150, 425, col = par("bg"), border = "transparent")

> rect(150, 300, 175, 350, density = 10, border = "red")

> rect(150, 400, 175, 450, density = 30, col = "blue", angle = -30,

+ border = "transparent")

> minha.cor <- rgb(5, 55, 10, max = 100)

> rect(100, 300, 125, 350, col = minha.cor)

Conjuntos de cores

Existem ainda alguns conjuntos de cores ja definidos no R. Esses conjuntos

formam alguns padroes que podem ser utilizados em diferentes tipos de graficos.

Esses padroes, em geral, sao utilizados em graficos que necessitam de mais de uma

cor para ser aplicada.

Tabela 1.3: Conjuntos de cores.Conjunto descricaorainbow() cores do arco-ırisheat.colors() varia do branco ate laranja/vermelhoterrain.colors() varia do branco ate marrom/verdetopo.colors() varia do branco ate marron/verde/azulcm.colors() varia do azul claro ate branco/magentagrey() ou gray() tipos de cinza

Dentro dos parenteses, sao inseridas opcoes, em geral, o numero de cores.

Experimente o seguinte exemplo no R:

> example(rainbow)

Observe que, a cor final pode depender da resolucao do vıdeo, do tipo de

impressora, tipo de papel alem de outras condicoes. Todas as cores geradas, sao

armazenadass pelo R como cores do tipo rgb().

Veja alguns exemplos de cores na funcao de demonstracao graphics:

> demo(graphics)

Experimente ainda, utilizar essa funcao para entender um pouco mais sobre

cores

Page 28: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 19

> cores.ex <- function() {

+ plot(1, 1, xlim = c(0, 14), ylim = c(0, 3), type = "n",

+ axes = F, xlab = "", ylab = "")

+ text(1:6, rep(2.5, 6), paste(1:6), col = palette()[1:6],

+ cex = 2.5)

+ text(10, 2.5, "palette (default)", adj = 0)

+ rainchars <- c("R", "O", "Y", "G", "B", "I", "V")

+ text(1:7, rep(1.5, 7), rainchars, col = rainbow(7), cex = 2.5)

+ text(10, 1.5, "rainbow(7)", adj = 0)

+ cmtexto <- substring("cm.colors", 1:9, 1:9)

+ text(1:9, rep(0.5, 9), cmtexto, col = cm.colors(9), cex = 3)

+ text(10, 0.5, "cm.colors(9)", adj = 0)

+ }

> cores.ex()

1.2.4 Segmentos, flechas, abline

Nessa secao, veremos como construir mais linhas, com os comandos segments()

e abline, alem de flechas (arrows).

segments()

A sintaxe da funcao segments() e a seguinte:

> segments(x0, y0, x1, y1, ...)

x e y representam as coordenadas dos pontos que devem ser unidos. No

exemplo, a seguir, pode-se colocar em um grafico varias linhasbaseadas na funcao

segments().

Experimente alterar opcoes da funcao segments() e gere outras figuras!

arrows() -flechas

De forma muito semelhante a funcao segments(), a funcao arrows() permite

que sejam feitas setas dentro de um grafico. Entre os argumentos, code (0 a 3)

indica em que lada a ponta da flecha vai estar, angle indica o angulo da flecha e

Page 29: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

20 CAPITULO 1. SESSAO INICIAL

Figura 1.2: Uso da funcao segments().> plot(0:10, 0:10, type = "n")

> segments(1, 2, 4, 5)

> segments(4, 5, 6, 5)

> segments(6, 5, 9, 2)

> segments(1, 2, 9, 2)

0 2 4 6 8 10

02

46

810

0:10

0:10

length indica o tamanho da flecha. Outras opcoes como tipo e cor da linha tambem

sao aceitas.

A funcao arrows() pode ser utilizada da seguinte maneira (firura 1.3):

abline()

A funcao abline() e utilizada, em geral, para representar coeficientes de um

modelo, mas, pode ser utilizada para gerar uma linha em um grafico. A ideia e

utilizar os coeficientes de um modelo, em geral de uma regressao linear simples para

gerar uma reta no grafico. Mas, pode-se utilizar um simples argumento para gerar

Page 30: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 21

Figura 1.3: Uso da funcao arrows().> plot(0:10, 0:10, type = "n")

> arrows(2, 8, 8, 8)

> arrows(2, 6, 8, 6, code = 1, angle = 30)

> arrows(2, 6, 8, 6, code = 1, angle = 15)

> arrows(2, 4, 8, 4, code = 3, angle = 45, lwd = 4)

> arrows(2, 2, 8, 2, lty = 2, col = 3, length = 1.7)

0 2 4 6 8 10

02

46

810

0:10

0:10

uma linha vertical ou horizontal. Veja os exemplos a seguir:

Primeiro, geramos um grafico de dispersao entre x e y.

Em seguida, pode-se construir um modelo para representar a relacao entre x

e y. Nesse caso, um modelo de regressao linear simples (uma reta):

> reg.lm <- lm(y ~ x)

> reg.lm$coef

(Intercept) x

Page 31: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

22 CAPITULO 1. SESSAO INICIAL

Figura 1.4: Uso da funcao abline().> set.seed(123)

> x <- sort(runif(10))

> x

[1] 0.0455565 0.2875775 0.4089769 0.4566147 0.5281055 0.5514350 0.7883051

[8] 0.8830174 0.8924190 0.9404673

> y <- sort(runif(10))

> y

[1] 0.04205953 0.10292468 0.24608773 0.32792072 0.45333416 0.57263340

[7] 0.67757064 0.89982497 0.95450365 0.95683335

> plot(x, y)

0.2 0.4 0.6 0.8

0.2

0.4

0.6

0.8

x

y

-0.1356696 1.1397177

Existem pelo menos tres maneiras de inserir uma reta no grafico. No caso

Page 32: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 23

de uma regressao linear simples, pode-se inserir o objeto do tipo lm, ‘chamar’ os

coeficientes do modelo ou simplesmente digitando os numeros correspondentes aos

coeficientes.

> abline(reg = reg.lm)

> abline(coef = c(reg.lm$coef[1], reg.lm$coef[2]))

> abline(-0.1356696, 1.1397177)

Ainda, pode-se inserir, com o comando abline() uma reta horizontal e ou

uma reta vertical.

> abline(h = 0.6)

> abline(v = 0.4)

1.2.5 Retangulos, polıgonos e cırculos

Algumas figuras geometricas podem ser geradas atraves de algumas funcoes no

R. Nesta secao trataremos de algumas destas funcoes que podem auxiliar na criacao

de graficos.

rect()

A primeira delas e a funcao rect() que pode ser utilizada para gerar retangu-

los. A sintaxe da funcao e a seguinte:

> args(rect)

function (xleft, ybottom, xright, ytop, density = NULL, angle = 45,

col = NA, border = NULL, lty = par("lty"), lwd = par("lwd"),

...)

NULL

onde xleft, ybottom, xright, ytop sao as coordenadas do retangulo dentro da

regiao do grafico, density e angle sao argumentos que definem a existencia ou nao

de linhas dentro do retangulo e o angulo de inclinacao das linhas, respectivamente.

Outras opcoes fazem parte da configuracao de cor, tipo de linha etc.

Page 33: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

24 CAPITULO 1. SESSAO INICIAL

Veja o exemplo da figura 1.2.3 para saber como trabalhar com a funcao rect().

Faca alteracoes nos argumentos da funcao para entender como ela funciona.

Experimente tambem, utilizar o exemplo disponıvel no documento de ajuda

sobre a funcao no R.

polygon()

Em muitas situacoes, podemos estar interessados em construir um polıgono,

ou seja, unir diferentes pontos em um grafico. A funcao polygon permite esse tipo

de tarefa.

Duas novas funcoes aparecem nos comandos da figura 1.5.

A primeira e a funcao box(). Essa funcao cria uma ‘caixa’ ao redor da regiao

do grafico (questoes sobre dimensao e margens serao estudadas mais adiante).

A segunda e a funcao chull(), que retira do conjunto de coordenadas os pontos

extremos de forma a contornar toda a extensao periferica dos pontos. Observe que,

o objeto perif contem os pontos que formam essa regiao e x[perif] e y[perif]

contem as coordenadas desses pontos.

Nesse caso, a funcao polygon() simplesmente faz a uniao desses pontos atraves

de uma linha.

Um aplicacao pode ser com o uso da distribuicao Normal.

Lembre-se que a funcao dnorm() gera os valoes de uma distribuicao Normal

padrao. Nesse caso, a funcao polygon() utiliza a informacao sobre a distribuicao

para poder acompanhar a linha da curva da distribuicao Normal.

Como sugestao, tente implementar outras opcoes para sımbolos e ainda, abra

o arquivo de ajuda dessa funcao para ver mais exemplos.

symbols()

Esta funcao pode ser utilizada para construir cırculos, quadrados, entre outros

desenhos. Nesse momento, vamos trabalhar apenas com cırculos. Se tiver mais

interesse, consulte a documentacao de ajuda dessa funcao.

Observe nos argumentos da funcao, que existem muitas opcoes:

Page 34: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 25

Figura 1.5: Uso da funcao polygon().> set.seed(123)

> x <- rnorm(100)

> y <- rnorm(100)

> plot(x, y, ann = FALSE, axes = FALSE, col = "grey")

> box(col = "grey")

> rect(min(x), min(y), max(x), max(y), lty = "dashed")

> perif <- chull(x, y)

> polygon(x[perif], y[perif])

> args(symbols)

function (x, y = NULL, circles, squares, rectangles, stars, thermometers,

boxplots, inches = TRUE, add = FALSE, fg = par("col"), bg = NA,

xlab = NULL, ylab = NULL, main = NULL, xlim = NULL, ylim = NULL,

...)

NULL

Page 35: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

26 CAPITULO 1. SESSAO INICIAL

Figura 1.6: Uso da funcao polygon() com a distribuicao Normal.> a <- 0

> b <- 2

> a.n <- "0"

> b.n <- "2"

> plot(dnorm, -4, 4, xlab = "", ylab = "", axes = F, bty = "n")

> polygon(x = c(a, seq(a, b, l = 20), b), y = c(0, dnorm(seq(a,

+ b, l = 20)), 0), col = "gray")

> text(c(a, b), c(-0.011, -0.011), c(a.n, b.n), cex = 0.6)

> segments(-4, -0.004, 4, -0.004)

0 2

x e y fornecem as coordenadas do centro do sımbolo e circles define o sımbolo

do tipo cırculo. Observe a diferenca entre as figuras 1.7 e areffig:simbolo2. Na figura

1.7 a opcao inches foi definida como TRUE. Isso faz com que o tamanho dos cırculos

seja relacionado a escala em polegadas. Ja, quando a opcao e FALSE, a escala esta

relacionada com o eixo x. Veja os exemplos nas figuras 1.7 e 1.8:

Observe nas linhas de comando que a opcao add foi definida como TRUE. Esta

opcao indica que os novos sımbolos devem ser adicionados ao grafico. Experimente

Page 36: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 27

Figura 1.7: Uso da funcao symbol() para cırculos.> plot(1:5, 1:5, type = "n")

> symbols(2, 2, circles = 0.1, inches = TRUE, bg = 2, add = TRUE)

> symbols(4, 4, circles = 0.3, inches = TRUE, fg = 3, add = TRUE)

1 2 3 4 5

12

34

5

1:5

1:5

utilizar a opcao FALSE para ver o resultado.

1.2.6 Regioes do grafico

Toda vez que um dispositivo grafico e aberto no R, ele e dividido em tres

regioes: margem externa, a regiao da figura ativa e a regiao do grafico ativo (figura

1.9).

No caso de existirem multilos graficos, as regioes ficam caracterizadas conforme

a figura 1.10

O tamanho dessas regioes e controlado pela funcao par().

Page 37: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

28 CAPITULO 1. SESSAO INICIAL

Figura 1.8: Uso da funcao symbol() para cırculos.> plot(1:5, 1:5, type = "n")

> symbols(2, 2, circles = 0.1, inches = FALSE, bg = 2, add = TRUE)

> symbols(4, 4, circles = 0.3, inches = FALSE, fg = 3, add = TRUE)

1 2 3 4 5

12

34

5

1:5

1:5

Margem externa

Por ‘default’ nao ha margens externas quando da geracao de um grafico. As

margens externas podem ser inseridas de tres maneiras:

• Usando o comando oma: estabelece os espacos considerando a referencia de

linhas de texto. Um valor 1 significa espaco para uma linha de texto. Como

existem quatro margens, os valores sao especificados na ordem bottom, left,

top, right;

• Usando o comando omi: as margens tmabem podem ser especificadas em po-

legadas (inches);

Page 38: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 29

Figura 1.9: . Regioes de um dispositivo grafico no R.

Região do gráfico

Região da figura

Margem externa 1

Mar

gem

ext

erna

2

Margem externa 3

Mar

gem

ext

erna

4

• Usando o comando omd: pode-se utilizar tambem uma proporcao da regiao do

dispositivo grafico. Nesse caso a ordem de entrada e left, right, bottom,

top.

Experimente alterar as opcoes graficas da funcao par(), como no exemplo da

figura 1.11.

Nesse caso, voce devera perceber mudancas no dispositivo grafico. Experi-

mente alterar as opcoes do parametro oma.

Regiao da figura

O R determina a regiao da figura considerando as dimensoes das margens

externas e do numero de figuras no dispositivo grafico. A regiao da figura pode ser

determinada pelo comando fig especificando left, right, bottom, top. Nesse

caso, cada valor e uma proporcao da figura desconsiderando os valores das margens

Page 39: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

30 CAPITULO 1. SESSAO INICIAL

Figura 1.10: . Multiplas regioes de um dispositivo grafico no R.

Figura 1 Figura 2

Região ativa do gráfico

Região ativa da figura

Figura 4

Margem externa 1

Mar

gem

ext

erna

2

Margem externa 3

Mar

gem

ext

erna

4

externas. O comando fin especifica a largura e altura, width, height da regiao da

figura em polegadas e faz a centralizacao da regiao da figura no grafico.

Margens da figura

As margens da regiao da figura podem ser controladas utilizando o comando

mar. Esse comando tambem utiliza a ordem bottom, left, top, right. Cada

valor representa o numero de linhas de texto. Os numeros default sao c(5,4,4,2)

+0.1. Da mesma forma como em outros comandos, pode-se determinar o tamanho

das margens em termos de polegadas utilizando o comando mai.

Regiao do grafico

A regiao do grafico e determinda pela diferenca entre a regiao da figura e a re-

giao das margens da figura. As dimensoes podem ser controladas pelo comando plt,

Page 40: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 31

Figura 1.11: . Exemplos de oma, omi e omd.> op <- par()

> par(oma = c(1, 2, 3, 3))

> plot(1:10, 1:10)

> par(op)

2 4 6 8 10

24

68

10

1:10

1:10

fornecendo as especificacoes da forma left, right, bottom, top. Pode-se ainda

definir as dimensoes, width, height, em termos de polegadas (inches). Ainda,

existe o comando pty que controla o quanto do espaco disponıvel que a regia oda

figura deve ocupar. O valor padrao e ’m’, que indica que todo o espaco disponıvel

deve ser ocupado. Pode-se utilizar a opcao ’s’ que indica que a regiao do grafico deve

ocupar o espaco disponıvel (regiao da figura menos a regiao das margens), mas, esse

espaco deve ser um quadrado.

Page 41: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

32 CAPITULO 1. SESSAO INICIAL

Figura 1.12: . Dimensoes de um grafico.

din[1]

omi[2]

oma[2]

omi[4]

oma[4]

omd[1]

omd[2]

fin[1]

mai[2]

mar[2]

mai

[4]

mar

[4]

plt[1]

plt[2]

pin[1]

Fora da regiao do grafico - Clipping()

Quando um grafico e gerado, o R ira colocar o resultado (output) na ’regiao

do grafico’. Qualquer resultado que seja gerado fora das coordenadas da regiao do

grafico nao aparecera. Mas, existem alguns mecanismos que permitem que se insiram

informacoes fora da regiao do grafico (clipping). Por exemplo, pode ser necessario

inserir uma legenda em uma posicao fora das delimitadas pelas dimensoes da regiao

do grafico.

A opcao xpd controla a ’permissao’ para inserir informacoes alem da regiao do

grafico. Para xpd=NA, e permitido inserir informacoes em toda a regiao do dispositivo

grafico. Ja, para uma opcao xpd=TRUE, e permitido utilizar a regiao da figura e para

a regiao do grafico, somente, utiliza-se a opcao xpd=FALSE, que e, por sua vez, o

valor padrao.

> par(op)

Page 42: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 33

> plot(1:5, 1:5)

> points(0.3, 0.3, pch = "x", col = 2)

> points(0.3, 0.3, pch = "x", col = 2, xpd = TRUE)

Para saber quais as dimensoes da janela grafica, basta digitar

> par("din", "fin", "pin", "oma", "plt", "mar")

$din

[1] 6.992249 6.995686

$fin

[1] 6.992249 6.995686

$pin

[1] 6.246351 6.036675

$oma

[1] 0 0 0 0

$plt

[1] 0.09143565 0.98476072 0.10662252 0.96953642

$mar

[1] 3.5 3.0 1.0 0.5

Para alterar, pode-se utilizar, por exemplo:

> par(op)

> par(pin = c(5.5, 5.5))

> plot(1:5, 1:5)

> points(0.3, 0.3, pch = "x", col = 2)

> par(op)

1.2.7 Arranjo de graficos

O comando mfrow ou mfcol permitiam inserir varios graficos em um mesmo

dispositivo. Mas, todos ocupavam as mesmas dimensoes.

Page 43: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

34 CAPITULO 1. SESSAO INICIAL

Nessa sessao, veremos como utilizar a funcao layout(). Basicamente, essa

funcao permite inserir varios graficos com dimensoes diferentes.

Para utilizar essa funcao e necessario fornecer uma matriz especificando o

numero de posicoes que serao utilizadas. No exemplo, a seguir, deverao ser gerados

quatro graficos sobre a janela grafica.

> layout(matrix(c(1, 2, 3, 4), byrow = TRUE, ncol = 2))

> plot(1:5, 1:5, ann = FALSE)

Observe que nesse caso, todos os espacos terao o mesmo tamanho. Mas, e

possıvel definir tamanhos diferentes para cda grafico. A opcao heights ou widths

podem ser utilizadas para definir esses tamanhos.

> layout(matrix(c(1, 2)), heights = c(1.5, 1))

> plot(1:2, 1:2, ann = FALSE, cex.lab = 0.5, cex.axis = 0.5)

> plot(1:2, 1:2, ann = FALSE, cex.lab = 0.5, cex.axis = 0.5)

Nesse caso, o grafico superior ocupa dois tercos do espaco disponıvel (2/(2+1)),

enquanto que o grafico inferior ocupa um terco do espaco disponıvel (1/(2 + 1)).

Ainda, a altura das linhas, nesse exemplo, funciona de forma independente das

colunas. Para forcar que as colunas tambem tenham o mesmo formato das linhas,

utiliza-se a opcao respect=TRUE. Veja o que acontece com o seguinte exemplo:

> layout(matrix(c(1, 2)), heights = c(1.5, 1), respect = TRUE)

> plot(1:3, 1:3, ann = FALSE, cex.lab = 0.5)

> plot(1:3, 1:3, ann = FALSE, cex.lab = 0.5)

Pode-se, ainda, definir dimensoes em centımetros, utilizando a funcao lcm. O

exemplo a seguir, mostra os graficos separados 0,5 cm.

> layout(matrix(c(1, 0, 2)), heights = c(2, lcm(0.5), 1), respect = TRUE)

> plot(1:3, 1:3, ann = FALSE, cex.lab = 0.5)

> plot(1:3, 1:3, ann = FALSE, cex.lab = 0.5)

Assim como matrix(), pode-se utilizar as funcoes rbind() ou cbind().

Page 44: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 35

> layout(rbind(c(1, 3), c(0, 0), c(2, 2)), heights = c(2, lcm(0.5),

+ 1), respect = TRUE)

> plot(1:3, 1:3, ann = FALSE, cex.lab = 0.5)

Experimente gerar outras configuracoes de graficos utilizando a funcao layout().

Ainda e possıvel utilizar a funcao layout.show() para ver como esta dividida

a janela grafica.

> layout.show()

1.2.8 Texto nas margens - mtext()

A funcao text() permite inserir texto dentro da regiao do grafico. Para inserir

um texto na regiao da figura ou nas margens, utiliza-se a funcao mtext(). O argu-

mento outer permite definir onde o texto sera inserido. O argumento side informa

em qual margem: 1-abaixo; 2-esquerda; 3-acima; 4-direita.

O texto e inserido em numero de linhas, na regiao da figura 1.13 ou nas margens

externas 1.14, podem ser definidas as coordenadas pelo usuario.

Um exemplo

Veja o exemplo 1.15 para ver como utilizar a funcao mtext(). Nesse caso,

quando voce tenta inserir um texto com a funcao text() aparece uma BF mensagem

de erro, pois a posicao requerida fica na regiao da figura e nao do grafico. Por isso,

a funcao mtext() deve ser utilizada nessa situacao. Experimente ver os argumentos

da funcao mtext() e tentar novas opcoes.

1.2.9 Eixos e o comando mgp

Ja vimos alguns comandos sobre eixos quando estudamos funcoes de alto nıvel.

Nessa secao veremos como trabalhar com o comando mgp. Esse comando controla a

distancia de alguns componentes dos eixos em relacao a borda da regiao do grafico.

Como valor padrao, o comando mgp tem o valor c(3,1,0). Os comandos

xaxs e yaxs controlam o estilo dos eixos de um grafico. As opcoes correntemente

implementadas sao i e r. Experimente mudar algumas opcoes no exemplo a seguir.

Page 45: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

36 CAPITULO 1. SESSAO INICIAL

Figura 1.13: . Margens da regiao da figura no R.

Gráfico corrente

Margem daFigura

1

xmin xmax

0 lines

3 lines

Gráfico correnteMargem da

Figura2

ymin

ymax

0 lines3 lines

> par(mgp = c(3, 0, 1))

> plot(1:5, 1:5, xaxs = "i")

> box(col = "gray")

Ainda, pode-se alterar as marcacoes de escala dos eixos com o comando tcl.

tcl especifica o tamanho da marca como uma fracao do tamanho da linha de texto.

Alterando o sinal, muda-se o sentido da marcacao.

> par(mgp = c(3, 0, 1))

> plot(1:5, 1:5, xaxs = "i", tcl = 0.5)

> box(col = "gray")

Page 46: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 37

Figura 1.14: . Margens externas da figura no R.

Plot 1 Plot 2Margem Externa

2

0

1

0 lines3 lines

Plot 1 Plot 2

Margem externa 1

0 1

0 lines

3 lines

1.2.10 Controle de janelas graficas

Em algumas situacoes, podemos estar interessados na geracao de varios graficos

em diferentes janelas graficas. No R, existem algumas funcoes que auxiliam no

controle dessas janelas graficas.

Para abrir uma nova janela grafica, pode-se utilizar, no Windows, x11() ou

window(). No Linux, utilize X11(). Experimente abrir varias janelas graficas ao

mesmo tempo. Observe que em cada janela, na parte superior, aparece o numero

da janela e se ela esta ativa ou nao.

Para movimentar-se entre as janelas, voce pode utilizar dev.set(). Entre

parenteses, insira o numero da janela grafica que voce quer trabalhar. Ainda, voce

pode utilizar dev.next() para saber qual a proxima ou dev.prev() para saber qual

o numero da janela anterior (considerando a ordem de abertura das janelas).

O comando dev.off() fecha a janela grafica.

Page 47: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

38 CAPITULO 1. SESSAO INICIAL

Figura 1.15: . Inserindo texto nas margens.> op <- par()

> plot(1:5, 1:5)

> text(3, 6, "regi~ao da figura")

> mtext("regi~ao da figura", side = 3, line = 1)

> par(op)

1 2 3 4 5

12

34

5

1:5

1:5

1.2.11 Fomulas matematicas

Em alguns graficos, pode-se ter a necessidade de se inserir formulas matema-

ticas. No R, pode-se utilizar tanto o formato de texto quanto expressoes que gerem

um resultado de interesse. A funcao expression(), pode ’desenhar’ sımbolos que

poderao ser utilizados em graficos.

Utilize a demo(plotmath) ou help(plotmath) para saber quais expressoes

podem ser utilizadas em um grafico no R. Apos, tente reproduzir as expressoes

contidas na figura 1.16:

Page 48: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 39

Figura 1.16: . Inserindo formulas no grafico.

∑i=1

nxi

expression(sum(x[i],i==1,n))

N(0, σ2)expression(N(0,sigma^2))

x = ∑i=1

n xi

nexpression(bar(x)==sum(frac(x[i],n),i==1,n))

f(x) =1

σ 2πexpression(f(x)==frac(1,paste(sigma,sqrt(2*pi))))

(x − µ

σ)2

expression((frac(x−mu,sigma))^2)

1.2.12 Explorando o plot

Ja utilizamos a funcao plot() para construir alguns graficos simples. Nessa

secao, vamos explorar um pouco mais os argumentos dessa funcao. Acompanhe na

sequencia, a seguir, alguns dos principais argumentos da funcao plot().

Como inserir tıtulos:

> x <- 1:5

> y <- 1:5

> plot(x, y, main = "Explorando plot()", sub = "um sub-tıtulo",

+ xlab = "eixo x", ylab = "eixo y")

Como mudar o tamanho dos tıtulos:

> plot(x, y, main = "Explorando plot()", sub = "um sub-tıtulo",

Page 49: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

40 CAPITULO 1. SESSAO INICIAL

+ xlab = "eixo x", ylab = "eixo y", cex.axis = 1.5, cex.lab = 2,

+ cex.main = 2.2, cex.sub = 1.5)

Como alterar cores:

> plot(x, y, main = "Explorando plot()", sub = "um sub-tıtulo",

+ xlab = "eixo x", ylab = "eixo y", col = 3, col.axis = 4,

+ col.lab = 5, col.main = 6, col.sub = 7, fg = 8)

Como trabalhar com as ”marcas de eixos”:

> plot(x, y, main = "Explorando plot()", lab = c(8, 15, 15),

+ mgp = c(5, 2, 3), tck = 1)

Como trabalhar com eixos:

> plot(x, y, main = "Explorando plot()", xaxp = c(0, 7, 10))

Como controlar a exibicao de eixos:

> plot(x, y, main = "Explorando plot()", axes = F)

> plot(x, y, main = "Explorando plot()", xaxt = "n")

Como controlar os limites de eixos:

> plot(x, y, main = "Explorando plot()", xlim = c(-2, 6), ylim = c(-1,

+ 8))

Ainda, com relacao ao tipo de grafico, podem ser definidas as seguintes opcoes:

> par(mfrow = c(3, 3))

> plot(x, y, main = "Explorando plot()", sub = "p", type = "p")

> plot(x, y, main = "Explorando plot()", sub = "l", type = "l")

> plot(x, y, main = "Explorando plot()", sub = "o", type = "o")

> plot(x, y, main = "Explorando plot()", sub = "b", type = "b")

> plot(x, y, main = "Explorando plot()", sub = "c", type = "c")

> plot(x, y, main = "Explorando plot()", sub = "s", type = "s")

> plot(x, y, main = "Explorando plot()", sub = "S", type = "S")

> plot(x, y, main = "Explorando plot()", sub = "h", type = "h")

> plot(x, y, main = "Explorando plot()", sub = "n", type = "n")

Page 50: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 41

1.2.13 Legendas

Outro topico bastante usual em graficos e a insercao de legendas em um grafico.

Considere o seguinte conjunto de dados para iniciar o trabalho:

> dados <- data.frame(x = 1:5, y = 1:5, nome = letters[1:5])

Um simples legenda pode ser inserida com o comando legend(). Deve-se

inserir as coordenadas, o texto da legenda e o tipo de caracter:

> plot(x, y)

> legend(x = 4, y = 2, legend = "pontos", pch = 1, cex = 0.5)

Pode-se utilizar os nomes dos objetos:

> plot(dados$x, dados$y, col = rainbow(5), pch = 1:5)

> legend(x = 2, y = 4.5, dados$nome, pch = 1:5, col = rainbow(5))

O comando fill pode ser utilizado para preencher os sımbolos:

> plot(dados$x, dados$y, col = rainbow(5), pch = 15)

> legend(x = 2, y = 4.5, dados$nome, fill = rainbow(5), bg = "lightgray")

Se voce tiver linhas, pode-se representa-las da seguinte forma (uma opcao):

> plot(x, y, type = "l")

> lines(x, y + 1, col = 2)

> legend(3.5, 2, c("linha 1", "linha 2"), pch = "-", col = 1:2,

+ cex = 1.5)

A posicao da legenda tambem pode ser determinada por comandos, ao inves

de coordenadas (figura 1.17):

Veja outros exemplos e opcoes no help da funcao legend().

Page 51: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

42 CAPITULO 1. SESSAO INICIAL

Figura 1.17: . Inserindo legendas no grafico.> plot(x, y, type = "n")

> legend("bottomright", "(x,y)", pch = 1, title = "bottomright")

> legend("bottom", "(x,y)", pch = 1, title = "bottom")

> legend("bottomleft", "(x,y)", pch = 1, title = "bottomleft")

> legend("left", "(x,y)", pch = 1, title = "left")

> legend("topleft", "(x,y)", pch = 1, title = "topleft, inset = .05",

+ inset = 0.05)

> legend("top", "(x,y)", pch = 1, title = "top")

> legend("topright", "(x,y)", pch = 1, title = "topright, inset = .02",

+ inset = 0.02)

> legend("right", "(x,y)", pch = 1, title = "right")

> legend("center", "(x,y)", pch = 1, title = "center")

−2 −1 0 1 2

−2

−1

01

23

x

y

bottomright

(x,y)

bottom

(x,y)

bottomleft

(x,y)

left

(x,y)

topleft, inset = .05

(x,y)

top

(x,y)topright, inset = .02

(x,y)

right

(x,y)

center

(x,y)

1.2.14 Exercıcios

Tente reproduzir as figuras a seguir, utilizando comandos basicos do R. Em

cada figura sao listadas as principais funcoes utilizadas em cada uma delas.

Page 52: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 43

Obviamente, a reproducao nao precisa ser perfeita (considerando, principal-

mente, dimensoes e cores) mas, voce deve tentar aproximar ao maximo cada com-

ponente do grafico.

1. As principais funcoes utilizadas nesse grafico foram:

plot(), text(), arrows(), segments(), points e rect().

2. As principais funcoes utilizadas nesse grafico foram:

plot(), text(), symbols(), polygon(), points e rect().

3. As principais funcoes utilizadas nesse grafico foram:

plot(), symbols(), points e segments().

Page 53: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

44 CAPITULO 1. SESSAO INICIAL

Figura 1.18: Exercıcio sobre texto.

> plot(1:10, 1:10, type = "n", ann = FALSE, axes = TRUE, bg = "green",

+ xaxt = "n", yaxt = "n")

> texto <- substring("preciso", 1:7, 1:7)

> text(seq(1.7, 2.9, by = 0.2), rep(2, 7), texto, col = rainbow(7),

+ cex = 2.5)

> text(5, 5, "treinar", srt = 45, cex = 2.5)

> segments(1, 7.6, 3, 7.6, lty = 3, lwd = 5)

> text(2, 8, "graficos", cex = 2)

> text(8, 8, "no")

> rect(7.5, 7.5, 8.5, 8.5)

> text(8, 5, "R", font = 4, cex = 4, col = "blue")

> arrows(2.5, 2.5, 4.5, 4.5, srt = 45, code = 2, lty = 2)

> arrows(4.5, 5, 2.5, 7.5, srt = 90, code = 2, lty = 1, lwd = 3)

> arrows(3, 8, 7.5, 7.5, srt = 0, code = 2, lty = 1, angle = 10,

+ len = 0.4)

> arrows(8, 7.5, 8, 5.5, srt = -90, code = 2, lty = 2, len = 0.9,

+ angle = 60)

> text(8, 2, "Eu vou\n conseguir!", cex = 2, col = "red")

> points(seq(7, 9, len = 10), rep(4, 10), pch = "*", col = "violet",

+ cex = 1.5)

preciso

treina

r

gráficos no

R

Eu vou conseguir!

* * * * * * * * * *

Page 54: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

1.2. GRAFICOS NO R 45

Figura 1.19: Exercıcio sobre cores e polıgonos.

> plot(1:10, 1:10, type = "n", ann = FALSE, axes = FALSE, main = "Bandeira do BRASIL")

> rect(1, 2, 10, 9, col = "darkgreen")

> polygon(c(5.5, 1.2, 5.5, 9.8), c(2.2, 5.5, 8.8, 5.5), col = "yellow")

> symbols(5.5, 5.5, 2, bg = rgb(0, 0, 1), add = TRUE)

> rect(3.54, 5.3, 7.46, 5.8, col = "white")

> text(5.5, 5.5, "ORDEM E PROGRESSO", col = "darkgreen")

> points(5.92, 5.98, , pch = 8, col = "white")

> points(c(6.06, 5.91, 6.07, 6.13, 6.24, 5.68, 5.29, 5.19,

+ 5.03, 4.87, 5.13, 5.18, 5.38), c(5.14, 4.82, 4.67, 4.99,

+ 5.1, 4.9, 4.55, 4.86, 5.06, 5.06, 4.69, 4.47, 4.31),

+ pch = 8, col = "white")

> points(c(5.73, 5.88, 5.51, 5.79, 5.96, 6.08, 5.34, 5.5, 5.23,

+ 5.12, 5.55, 5.87, 6.04), c(5.01, 4.58, 4.66, 4.84, 5.1,

+ 4.71, 4.88, 4.56, 4.55, 4.95, 4.42, 4.49, 4.64), pch = 8,

+ col = "white")

ORDEM E PROGRESSO

Page 55: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

46 CAPITULO 1. SESSAO INICIAL

Figura 1.20: Exercıcio sobre cores e polıgonos.

> plot(1:10, 1:10, type = "n", ann = FALSE, axes = FALSE)

> symbols(5, 5, 2, add = TRUE, inc = FALSE)

> symbols(c(4, 6), c(6, 6), c(0.3, 0.3), add = TRUE, inc = FALSE)

> points(c(4.041275, 6.086176), c(6.006826, 6.006826), pch = c(44,

+ 44), cex = 4, col = "blue")

> points(c(7.022771, 2.997524), c(4.974744, 5.011604), pch = c(41,

+ 40), cex = 7)

> segments(4.467296, 3.426621, 5.617553, 3.297611, col = "red")

> segments(4.22, 7.1, 5.04, 9, 1)

> segments(5.04, 9.01, 5.96, 7.02)

> symbols(5.16, 8.97, 0.2, add = TRUE, inc = FALSE, bg = "yellow")

> points(4.989172, 4.827304, pch = 94, cex = 3)

> points(c(3.49, 3.54, 3.84, 4.07), c(4.71, 4.31, 4.21, 4.6),

+ pch = 42, col = 5:8)

> points(c(5.81, 6.05, 6.41, 6.13), c(4.53, 4.01, 4.18, 4.66),

+ pch = 42, col = 5:8)

, ,)( ^*

* ** *

* **

Page 56: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

Parte II

Graficos estatısticos

47

Page 57: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

Capıtulo 2

Graficos estatısticos

Sumario

2.1 Explorando Pacotes . . . . . . . . . . . . . . . . . . . . . . 48

2.2 Apresentacao de Graficos . . . . . . . . . . . . . . . . . . . 49

2.3 Graficos univariados . . . . . . . . . . . . . . . . . . . . . . 55

2.4 Mais graficos exploratorios . . . . . . . . . . . . . . . . . . 80

2.5 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

2.1 Explorando Pacotes

2.1.1 Introducao

No R existem, alem dos pacotes basicos, varios outros pacotes (packages) que

geram muitos tipos diferentes de graficos. Nesta secao, iremos estudar como gerar

graficos estatısticos utilizando estes diferentes pacotes.

Entre na pagina do R e explore alguns pacotes, claro, dando enfoque para a

parte grafica.

Para ’baixar’ um pacote, no R digite

> require("nome.do.pacote")

Tambem daremos algum enfoque na forma de apresentacao de graficos, procu-

rando seguir as normas de publicacao e, claro, dentro dos aspectos estatısticos.

48

Page 58: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.2. APRESENTACAO DE GRAFICOS 49

Segunda avaliacao: Para a segunda avaliacao, cada aluno devera escolher

um pacote do R, obviamente, que trabalhe com funcoes graficas. Um das questoes

sera a entrega de um trabalho (um grafico) baseado em uma ou mais funcoes graficas

de um pacote. Voce deve utilizar somente as funcoes do pacote e/ou funcoes basicas

do R, ou seja, voce deve usar a funcao require() apenas uma vez. Procure utilizar

dados originais ou entao, simule-os no proprio R (indique a semente set.seed()).

Apos a escolha do pacote, envie uma email para o professor com o subject

pacote, informando qual o nome do pacote. A preferencia sera dada pela ordem de

chegada dos emails.

O trabalho devera ser entregue no dia da segunda avaliacao.

Utilize a aula de hoje para pesquisar esses pacotes.

2.2 Apresentacao de Graficos

2.2.1 Introducao

Nesta secao veremos alguns pontos que tratam da apresentacao de graficos,

como por exemplo, tıtulos, formato etc. As informacoes contidas desta secao sao ba-

seadas nas Normas para apresentacao de trabalhos cientıficos publicada pela UFPR.

Estas normas, por sua vez, baseiam-se nas normas da ABNT (Associacao Brasileira

de Normas Tecnicas). Mesmo assim, muitas revistas cientıficas, por exemplo, po-

dem possuir normas ou recomendacoes diferentes das apresentadas nesse e em outros

textos.

Procure, daqui para frente, observar os detalhes de apresentacao de graficos,

nao so em relacao as normas de apresentacao, mas tambem com relacao a qualidade

de apresentacao das informacoes.

2.2.2 Percepcao grafica

Existem algumas caracterısticas fundamentais em graficos que podem gerar

diferentes percepcoes em diferentes indivıduos:

1. Posicao ao longo de uma escala comum;

2. Posicao ao longo de uma escala nao alinhada;

Page 59: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

50 CAPITULO 2. GRAFICOS ESTATISTICOS

3. Longitude;

4. Angulacao;

5. Area;

6. Volume, densidade e saturacao de cores;

7. Escala de cores.

Cada indivıduo possui uma percepcao diferente em determinados aspectos.

2.2.3 Classificacao de graficos

Dependendo da finalidade, um grafico pode ser classificado em:

• Graficos de Propaganda;

• Graficos Analıticos: informam o que esta acontecendo. Em geral, os graficos

estatısticos;

• Graficos que substituem tabelas: necessariamente deve-se ler os numeros para

poder interpreta-lo;

• Graficos decorativos: apenas sao apresentados porque sao bonitos mas nao

oferecem muita informacao.

2.2.4 Princıpios basicos de um grafico

Em um grafico deve-se procurar observar alguns princıpios. Basicamente, um

grafico deve ser:

• Compreensıvel: permite visualizar as relacoes entre variaveis;

• Claro: todos os componentes de um grafico devem ser perfeitamente perceptı-

veis, principalmente os componentes mais imprtantes devem estar visivelmente

destacados;

• Consistente: os elementos graficos devem fornecer informacoes coerentes com

graficos anteriores; novos elementos podem requerer uma descricao adicional

para fazerem sentido

Page 60: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.2. APRESENTACAO DE GRAFICOS 51

• Eficiencia: os elementos graficos devem representar exatamente o que os dados

querem dizer; pode ser que existam elementos que representem mais de uma

informacao

• Necessidade: um grafico deve ser util para representar dados; deve haver uma

necessidade para inserir elementos em um grafico

• Confiabilidade: os dados devem estar corretamente representados, principal-

mente no que diz respeito a escala

2.2.5 Elementos de um grafico

• Tıtulo Principal

• Tıtulo Secundario o Subtıtulo

• Descricao do grafico

• Regiao de dados e sımbolos

• Eixo horizonta e escala

• Eixo vertical e escala

• Indicadores: flechas, numeros

• Descricao de sinais e marcas

2.2.6 Recomendacoes gerais para elaborar um grafico

1. Os dados devem se sobressair, aparecer. Evite informacoes desnecessarias.

2. Utilize elementos destacados para mostrar os dados.

3. Nao exagere no numero de sımbolos.

4. Utilize uma linha de referencia quando ha algum valor importante que deva

ser visto em todo o grafico, por exemplo, uma linha media. Cuide para que

isso nao interfira na apresentacao do grafico.

5. Nao deixar que sımbolos ou outros elementos interfiram em dados quantitati-

vos, por exemplo, se amontoando.

Page 61: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

52 CAPITULO 2. GRAFICOS ESTATISTICOS

6. Evite colocar notas, marcas ou sinais em um lado da regiao do grafico. Coloque

notas no texto de como explicacao.

7. Graficos sobrepostos devem ser visualmente diferenciaveis.

8. Datos sobrepostos devem ser visualmente diferenciaveis.

9. Um grafico deve mostras os dados.

10. Um grafico deve induzir o aobservador a pensar sobre o conteudo e nao no

desenho do grafico, na tecnologia ou outros atributos.

11. Evitar distorcer a mensagem que os dados devem passar.

12. Evitar muitos numeros em um espaco pequeno.

13. Fazer com que grandes conjuntos de dados tenham coerencia.

14. Induzir que os olhos do observador comparem diferentes partes dos dados.

15. Revelar diferentes detalhes dos dados, desde a perspectiva global ate detalhes

particulares.

16. Ter um objetivo bastante claro: descricao, exploracao, tabulacao e decoracao.

17. Estar bastante integrado as descricoes estatısticas e verbais do conjunto de

dados.

2.2.7 Erros mais comuns em graficos

1. Em geral, excessso de decoracao e um problema;

2. Ausencia de um tıtulo, marcas e indicadores;

3. Ausencia ou erro na escala de eixos;

4. Excesso de informacao;

5. Falta de dados;

6. Ma qualidade de impressao.

Page 62: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.2. APRESENTACAO DE GRAFICOS 53

2.2.8 Objetivo de um grafico

Inicialmente, um grafico tem a finalidade de apresentar uma informacao de

maneira clara, rapida e objetiva, alem de resumir, organizar e apresentar dados de

qualquer natureza.

Obviamente, existem naturezas diversas, bem como objetivos variados na apre-

sentacao de graficos. Pode-se, por exemplo, citar graficos com fins promocionais.

Muitas vezes, eles nao seguem quaisquer normas rıgidas de apresentacao. Mesmo

nesses casos, deve-se ter sempre em mente que a informacao nao pode ser modifi-

cada. Aspectos relacionados com a maneira de evidenciar ou obscurecer informacoes

em graficos nao serao tratados nesse texto.

Elementos basicos:

2.2.9 Numeracao

Assim como tabelas, os graficos devem ser referenciados no texto. Se eles

ocorrem em um trabalho, e porque possuem alguma importancia, fornecem alguma

informacao. Portanto, eles precisam ter alguma explicacao ou comentario a respeito

deles no corpo do trabalho.

Por esse motivo, os graficos devem ser numerados sequencialmente ao longo do

texto, independente do tipo. Insere-se, no texto, a palavra Grafico e em seguida o

numero. Pode-se abreviar a palavra Grafico. Em alguns textos ou revistas, podeser

exigida a palavra figura.

Exemplo:

GRAFICO 1 - Numero medio mensal de acidentes de transito com ciclistas em

Curitiba no ano de 2005.

No caso de capıtulos, deve-se utilizar a numeracao correspondente ao capıtulo.

Exemplo: No capıtulo 1 use GRAFICO 1.1

GRAFICO 1.2

No capıtulo 2 use

GRAFICO 2.1

GRAFICO 2.2

Page 63: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

54 CAPITULO 2. GRAFICOS ESTATISTICOS

2.2.10 Tıtulo

De maneira simples, o tıtulo de um grafico deve ser suficiente para o leitor

entender seu conteudo e sua insercao no contexto do material publicado.

Basicamente, o tıtulo traz uma breve descricao do conteudo do grafico e uma

data de referencia, quando for o caso.

2.2.11 Fonte

Em graficos estatısticos, e recomendavel que a fonte (responsavel) dos dados

seja mencionada. Normalmente a fonte e apresentada abaixo do grafico, com uma

tamanho de letra menor do que a do tıtulo, iniciada com a expressao Fonte.

2.2.12 Escala

Em um grafico, as informacoes que possuem uma escala devem ser apresentadas

com clareza. Os numeros da escala devem estar na posicao horizontal e na regiao

externa dos eixos. A unidade de medida deve aparecer no final de cada linha do

grafico.

Caso nao seja possıvel apresentar a escala por completo, pode-se fazer um corte

no eixo correspondente para informar que a escala nao esta completa.

2.2.13 Diferenca de linhas

Cores: dependem dos recursos e da finalidade. Em geral, para publicacao

em revistas cientıficas, em se tratando de graficos estatısticos, sao utilizados apenas

graficos em preto e branco. Uma alternativa e utilizar tonalidades de preto, passando

pelo cinza, ate o branco.

Alem de cores, podem-se utilizar hachuras ou linhas pontilhadas

legenda: Tanto cores, como linhas pontilhadas ou hachuras devem ser referen-

ciadas em uma legenda.

Page 64: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.3. GRAFICOS UNIVARIADOS 55

2.2.14 Apresentacao

Em geral, pode-se dizer que quando um grafico nao consegue expressar a devida

informacao sem a necessidade de numeros, e porque uma tabela deve ser uma opcao

mais adequada.

2.3 Graficos univariados

Nesta secao, estudaremos alguns graficos univariados. O principal objetivo

destes graficos e fazer uma analise descritiva de dados. Entende-se por analise des-

critiva a obtencao de informacoes que auxiliem na interpretacao e na avaliacao da

qualidade dos dados em determinadas situacoes. Basicamente a frequencia e a forma

de distribuicao dos dados sao os aspectos que podem ser considerados mais relevan-

tes em uma analise grafica univariada. Obviamente, em casos particulares, pode-se

ter interesses diferentes dos aqui apresentados.

No R, iremos utilizar alguns conjuntos de dados provenientes de pacotes e em

algumas situacoes, utilizaremos funcoes especıficas de alguns pacotes.

2.3.1 Ramo-e-folhas

O objetivo de um grafico ramo-e-folhas e resumir os dados de tal forma que

se possa ter uma nocao da forma da distribuicao dos dados (simetrica, assimetrica),

a frequencia de observacoes, vazios entre os dados e possıveis dados discrepantes

(outliers).

As observacoes devem ser divididas em duas partes. A primeira, chamada de

ramo, e colocada a direita de uma linha vertical, e a segunda, chamada de folhas, e

colocada a esquerda. Por exemplo, se a variavel possui valores do tipo 2, 34; 2, 98, o

numero 2 sera o ramo e 34 e 98 serao as folhas.

A maneira como sao distribuıdos os ramos e folhas podem variar em funcao da

quantidade de dados. Em alguns casos, pode-se ter uma visualizacao melhor com

uma separacao dos dados por ramo.

Esse grafico pode nao ser muito util quando existem muitas observacoes.

Page 65: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

56 CAPITULO 2. GRAFICOS ESTATISTICOS

Exemplo

Vamos considerar um conjuto de dados simulados no R:

> set.seed(2209)

> dados <- sample(1:100, 50)

Para construir o grafico, utiliza-se a funcao stem().

> stem(dados)

The decimal point is 1 digit(s) to the right of the |

0 | 267

1 | 01257

2 | 03579

3 | 0123

4 | 345678

5 | 1369

6 | 346789

7 | 23468

8 | 3456789

9 | 2679

10 | 0

Veja os argumentos e o help da da funcao stem():

> args(stem)

function (x, scale = 1, width = 80, atom = 1e-08)

NULL

Experimente alterar alguns dos parametros da funcao. Tente, tambem, aumen-

tar o tamanho e o tipo de dado gerado. Por exemplo, gere dados de uma distribuicao

Normal, utilizando rnorm().

Page 66: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.3. GRAFICOS UNIVARIADOS 57

2.3.2 Box-Plot

O box-plot e um grafico que mostra a posicao central, dispersao e simetria dos

dados de uma amostra , comprimento de caudas e dados discrepantes. E utilizado

para resumir as informacoes de um conjunto de dados.

Esse grafico e baseado no “resumo dos 5 numeros”(fivenum()).

Considere o seguinte conjunto de dados: 17, 22, 23, 27, 29, 32, 38, 42, 46, 52,

60, 92

Para construir o box-plot dessas observacoes, devemos seguir os seguintes pas-

sos:

Passo 1: Calcular a mediana , o primeiro e terceiro quartis, e a amplitude interquartılica.

> box <- c(17, 22, 23, 27, 29, 32, 38, 42, 46, 52, 60, 92)

> quantile(box, type = 2)

0% 25% 50% 75% 100%

17 25 35 49 92

> AIQ <- quantile(box, 0.75, type = 2) - quantile(box, 0.25,

+ type = 2)

Passo 2: Calcular 1,5 × AIQ =1,5 × 24=36 e,

Limite inferior = Q1-36=25-36=-11

Limite superior = Q3+36=49+36=85

Passo 3: Encontrar o menor valor e o maior valor dentro dos limites inferiores e supe-

riores, respectivamente: menor=17 e maior=60;

Passo 4: Construir o grafico (figura 2.1)

No R, basta utilizar a funcao boxplot() informando a variavel que sera uti-

lizada.

Alem do grafico, a funcao boxplot() retorna outras estatıstica que podem ser

de interesse.

> boxplot.stats(box)

Page 67: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

58 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.1: Grafico Box-Plot.> boxplot(box, main = "Box plot")

2040

6080

Box plot

$stats

[1] 17 25 35 49 60

$n

[1] 12

$conf

[1] 24.05344 45.94656

$out

[1] 92

Veja outras opcoes da funcao boxplot().

Se o objeto que se deseja utilizar a funcao boxplot() e apenas uma variavel

Page 68: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.3. GRAFICOS UNIVARIADOS 59

numerica, sera construıdo apenas um box-plot. No caso de existir mais de uma

variavel, por exemplo, um data.frame, a funcao boxplot() ira construir um box-

plot para cada coluna.

Se existir uma variavel do tipo factor, pode-se utilizar uma formula para

construir um box-plot para cada categoria.

Por exemplo, considere os dados sobre gatos (cats) do pacote MASS. Existem

tres colunas: Sex (sexo), Bwt (peso do corpo), Hwt (peso do coracao).

> library(MASS)

> data(cats)

Para construir um box-plot para cada um dos sexos, utiliza-se o seguinte:

> boxplot(Bwt ~ Sex, data = cats)

Experimente alterar algumas opcoes da funcao boxplot(). Veja, por exemplo,

como mudar cores.

A opcao notch=TRUE insere um corte (entalhe) em cada box-plot. Quando esses

cortes se sobrepoem, isso indica que nao deve haver diferencas entre as medianas dos

grupos.

2.3.3 Graficos de setores ou circulares

O grafico de setores ou circular, tambem conhecido como ’pizza’ pode ser

utilizado para representar a frequencia de observacoes de diferentes categorias. O

tamanho de cada setor e proporcional ao numero de observacoes em cada categoria.

O tamanho pode ser definido em numeros percentuais ou absolutos.

Em geral, um grafico de setores nao e um bom modo de representar dados por-

que o olho humano tem dificuldades para comparar areas relativas. em comparacao

com medidas lineares.

No R, a funcao utilizada para esse tipo de grafico e pie().

Vamos utilizar os dados do arquivo cats do pacote MASS:

> require(MASS)

> data(cats)

> attach(cats)

Page 69: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

60 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.2: .Grafico Box-Plot com cores.> boxplot(Bwt ~ Sex, col = c("red", "blue"), data = cats)

F M

2.0

2.5

3.0

3.5

Experimente obter algumas informacoes,

> summary(cats)

Sex Bwt Hwt

F:47 Min. :2.000 Min. : 6.30

M:97 1st Qu.:2.300 1st Qu.: 8.95

Median :2.700 Median :10.10

Mean :2.724 Mean :10.63

3rd Qu.:3.025 3rd Qu.:12.12

Max. :3.900 Max. :20.50

A funcao tapply() (t de table) pode ser utilizada para obter estatısticas por

grupos:

Page 70: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.3. GRAFICOS UNIVARIADOS 61

> tapply(Bwt, Sex, mean)

F M

2.359574 2.900000

Nesse exemplo, utiliza-se a variavel resposta Bwt, agrupa-se por Sex e estima-se

a media de cada grupo.

ou fazendo tabelas,

> table(Sex)

Sex

F M

47 97

Suponha uma nova variavel, onde, se o peso do coracao for maior ou igual a

9,5, o gato esta apto e, caso contrario, estara inapto.

> aptidao <- ifelse(Hwt >= 9.5, "apto", "inapto")

> table(Sex, aptidao)

aptidao

Sex apto inapto

F 23 24

M 72 25

Obtencao de uma soma marginal:

> sex.t <- table(Sex, aptidao)

> margin.table(sex.t, 1)

Sex

F M

47 97

> margin.table(sex.t, 2)

Page 71: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

62 CAPITULO 2. GRAFICOS ESTATISTICOS

aptidao

apto inapto

95 49

Para obter frequencias relativas, utilize

> prop.table(sex.t, 1)

aptidao

Sex apto inapto

F 0.4893617 0.5106383

M 0.7422680 0.2577320

> prop.table(sex.t, 2)

aptidao

Sex apto inapto

F 0.2421053 0.4897959

M 0.7578947 0.5102041

Se for de interesse obter valores em percentual, multiplique por 100.

Para obter as proporcoes em funcao do total geral, basta utilizar

> sex.t/sum(sex.t)

aptidao

Sex apto inapto

F 0.1597222 0.1666667

M 0.5000000 0.1736111

> round(sex.t/sum(sex.t), 2)

aptidao

Sex apto inapto

F 0.16 0.17

M 0.50 0.17

Page 72: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.3. GRAFICOS UNIVARIADOS 63

Figura 2.3: Grafico de Setores.> pie(margin.table(sex.t, 2))

apto

inapto

(com duas casas decimais)

O grafico de setores pode ser obtido da seguinte maneira:

Outros exemplos

Alguns outros exemplos podem ser vistos a seguir. Por exemplo:

> cores <- c(0.3, 0.25, 0.2, 0.15, 0.1)

> names(cores) <- c("verde", "vermelho", "azul", "laranja",

+ "preto")

Para esses dados, um grafico de setores pode ser construıdo da seguinte forma:

Pode-se trabalhar com cores da seguinte forma:

Experimente trabalhar com cores:

Page 73: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

64 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.4: Grafico de Setores.> pie(cores)

verde

vermelho

azullaranja

preto

Existem outros parametros graficos que podem ser utilizados. Veja os argu-

mentos da funcao pie() e outros exemplos utilizando ?pie.

2.3.4 Grafico de barras

Assim como o grafico de setores, o grafico de barras e utilizado para representar

a frequencia absoluta ou percentual de diferentes categorias.

Basicamente, sao construıdas barras proporcionais as frequencias. No R, utiliza-

se a funcao barplot(). Como exemplo veja a figura 2.6,

Tambem, pode-se trabalhar com cores (figura 2.7):

Quando trata-se de dados dispostos em uma tabela, a funcao barplot() ’en-

xerga’ os dados da seguinte maneira (figura 2.8):

Page 74: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.3. GRAFICOS UNIVARIADOS 65

Figura 2.5: Grafico de Setores.> pie(rep(1, 24), col = rainbow(24), radius = 0.9)

1

2

3

4

567

8

9

10

11

12

13

14

15

16

1718 19

20

21

22

23

24

Para inverter as posicoes, basta utilizar a funcao t(), que transpoe a matriz

de dados (figura 2.9):

Ainda, pode-se colocar as barras lado a lado e inserir uma legenda (figura 2.10)

:

Se os dados estao no formato de uma matriz, as barras sao agrupadas para re-

presentar os dados de maneira adequada. Por exemplo, considere o seguite conjunto

de dados:

> disciplina <- c("CE213", "CE214", "CE219")

> alunos <- c("A", "B", "C")

> notas <- matrix(c(71, 62, 75, 83, 54, 60, 82, 43, 67), nc = 3,

+ dimnames = list(alunos, disciplina))

> notas

Page 75: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

66 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.6: Grafico de Barras.> barplot(cores)

verde vermelho azul laranja preto

0.00

0.05

0.10

0.15

0.20

0.25

0.30

CE213 CE214 CE219

A 71 83 82

B 62 54 43

C 75 60 67

Para esses dados, a funcao barplot() retorna o seguinte grafico:

Veja o arquivo de ajuda da funcao barplot() para ver mais exemplos e outras

funcionalidades.

> detach(cats)

Page 76: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.3. GRAFICOS UNIVARIADOS 67

Figura 2.7: Grafico de Barras.> barplot(cores, col = c("green", "red", "blue", "orange",

+ "black"))

verde vermelho azul laranja preto

0.00

0.05

0.10

0.15

0.20

0.25

0.30

2.3.5 Histograma

Um histograma e utilizado para representar a distribuicao de uma variavel

aleatoria contınua. Basicamente, as frequencias observadas sao representadas por

classes de ocorrencia. As frequencias absolutas podem ser substituıdas por frequen-

cias relativas ou proporcionais.

Um dos principais aspectos na construcao de um histograma e a definicao do

numero de classes. Existem varias proposicoes sobre esse aspecto. No R algumas

dessas proposicoes estao implementadas. Inicialmente, vamos estudar os comandos

basicos do histograma e a seguir, aplicar os diferentes metodos para definicao do

numero de classes.

No R, a funcao hist() constroi o histograma. Para ver os argumentos dessa

Page 77: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

68 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.8: Grafico de Barras a partir de uma tabela.> barplot(sex.t)

apto inapto

020

4060

80

funcao, utilize ?hist ou args(hist) para ver quais argumentos sao possıveis para

a funcao hist().

function (x, ...)

NULL

Como exemplo, considere o seguinte conjunto de dados:

> set.seed(123)

> x <- sample(1:100, 50, rep = TRUE)

> x

[1] 29 79 41 89 95 5 53 90 56 46 96 46 68 58 11 90 25

[18] 5 33 96 89 70 65 100 66 71 55 60 29 15 97 91 70 80

[35] 3 48 76 22 32 24 15 42 42 37 16 14 24 47 27 86

Page 78: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.3. GRAFICOS UNIVARIADOS 69

Figura 2.9: Grafico de Barras a partir de uma tabela - inversao .> barplot(t(sex.t))

F M

020

4060

80

Um simples histograma pode ser gerado da seguinte maneira:

O numero de classes pode ser alterado com o comando breaks. Nesse caso sao

aceitos um simples numero indicando quantas classes devem ser formadas. Inter-

namente, ha uma funcao de tolerancia que pode nao responder ao valor informado.

Dependendo da configuracao dos dados,o R, automaticamente, faz um ajuste dife-

rente do solicitado.

Veja alguns exemplos

As classes podem ser explicitamente definidas pelo usuario de varias maneiras:

> hist(x, br = c(0, 15, 30, 45, 60, 75, 90, max(x)))

> hist(x, br = seq(0, 100, len = 8))

As classes tambem podem ter tamanhos diferentes:

Page 79: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

70 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.10: Grafico de Barras a partir de uma tabela - legenda.> barplot(sex.t, beside = TRUE, legend.text = rownames(sex.t),

+ col = c("white", "gray"))

apto inapto

FM

010

2030

4050

6070

> hist(x, br = c(0, 10, 35, 45, 60, 70, 90, max(x)))

O argumento right=TRUE, indica que o intervalo de classe e definido da forma

(a,b], ou seja, aberto a esquerda e fechado a direita.

O argumento include.lowest=TRUE indica como o R trata das observacoes

que estao nos extremos dos dados. Esse argumento e dependente da opcao breaks

e rigth.

O numero de classes e importante na construcao do histograma, pois isso afeta

a forma do grafico e por sua vez, a maneira como os dados ou informacoes serao

interpretadas.

Na funcao hist()o metodo de Sturges e o padrao. Esse metodo define o

numero de classes, k, atraves da seguinte expressao k = 1 + log2(n). Outra opcao

Page 80: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.3. GRAFICOS UNIVARIADOS 71

Figura 2.11: Grafico de Barras a partir de uma ’matriz’.> barplot(notas, beside = TRUE, legend = rownames(notas))

CE213 CE214 CE219

ABC

020

4060

80

e utilizar o metodo ou regra de Scott, onde o numero de classes e dado por: k =

(2n)1/3.

Histograma com probabilidades

O argumento freq=FALSE define que ao inves de serem inseridas as frequencias

no histograma deve-se inserir as proporcoes ou probabilidades. Dessa maneira, o R

insere as barras do histograma de modo que elas tenha uma area de valor 1.

Observe nesse grafico, que no eixo y aparecem as probabilidades e nao as

frequencias.

Page 81: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

72 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.12: Histograma simples.> hist(x)

Histogram of x

x

Fre

quen

cy

0 20 40 60 80 100

01

23

45

67

Outros elementos

Quando a funcao hist() e utilizada, algumas informacoes sao geradas. Por

exemplo:

> hist.meu <- hist(x)

> hist.meu

$breaks

[1] 0 10 20 30 40 50 60 70 80 90 100

$counts

[1] 3 5 7 3 7 5 5 4 5 6

Page 82: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.3. GRAFICOS UNIVARIADOS 73

Figura 2.13: Histograma simples.> hist(x, 5)

Histogram of x

x

Fre

quen

cy

0 20 40 60 80 100

02

46

810

12

$intensities

[1] 0.005999999 0.010000000 0.014000000 0.006000000 0.014000000

[6] 0.010000000 0.010000000 0.008000000 0.010000000 0.012000000

$density

[1] 0.005999999 0.010000000 0.014000000 0.006000000 0.014000000

[6] 0.010000000 0.010000000 0.008000000 0.010000000 0.012000000

$mids

[1] 5 15 25 35 45 55 65 75 85 95

$xname

[1] "x"

Page 83: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

74 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.14: Histograma com probabilidades.> hist(x, freq = FALSE)

Histogram of x

x

Den

sity

0 20 40 60 80 100

0.00

00.

002

0.00

40.

006

0.00

80.

010

0.01

20.

014

$equidist

[1] TRUE

attr(,"class")

[1] "histogram"

Essas informacoes podem ser utilizadas, por exemplo, na identificacao ou na

insercao de frequencias sobre as barras (figura 2.15).

2.3.6 Funcoes rug e jitter

Em um histograma, pode-se ter interesse em visualisar a densidade de dados

por cada classe. A funcao rug() insere no grafico pequenas linhas, indicando a

Page 84: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.3. GRAFICOS UNIVARIADOS 75

Figura 2.15: Histograma com identificacao.> hist.meu <- hist(x)

> text(hist.meu$mid, hist.meu$counts + 0.2, hist.meu$counts)

Histogram of x

x

Fre

quen

cy

0 20 40 60 80 100

01

23

45

67

3

5

7

3

7

5 5

4

5

6

posicao dos pontos em daca barra do histograma. Pode acontecer que dados iguais

ocorram em um classe. Nesse caso, pode-se utilizar a funcao jitter() que adiciona

uma certa quantidade a cada observacao, permitindo que dados iguais possam ser

diferenciados.

Em alguns casos, principalmente se existirem muitos dados, essas funcoes po-

dem nao ser muito uteis.

> rug(jitter(x, 0.15))

Experimente, tambem, trabalhar com cores, linhas (density), legendas etc.

Page 85: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

76 CAPITULO 2. GRAFICOS ESTATISTICOS

Sugestao de estudo

Dentro do pacote MASS ha uma funcao que faz histogramas e tambem dentro

do pacote lattice. Veja quais sao os argumentos de cada funcao, compare com a

funcao hist e tente construir alguns graficos.

> require(MASS)

[1] TRUE

> truehist(x)

> require(lattice)

[1] TRUE

> histogram(x)

2.3.7 Graficos de dispersao ou Scatter plots

Graficos que mostram a dispersao de dados sao uteis para identificar muitas ca-

racterısticas de dados. Alem da dispersao, outliers, tendencias entre outros aspectos,

podem ser explorados com graficos de dispersao ou Scatter plots.

No R, alem da funcao plot(), outras funcoes como stripchart() e dotchart()

podem ser utilizados para representar pontos.

Dependendo do tipo de objeto que esta sendo utilizado, um simples vetor ou

uma matriz, cada funcao gerara graficos de acordo com a antureza dos dados.

stripchart

A funcao stripchart() produz um grafico unidimensional, ou seja, conside-

rando apenas uma escala. Um grafico de pontos ´pode ser uma alternativa a um

boxplot, principalmente quando o numero de pontos e pequeno.

Inicialmente, explore os argumentos da funcao stripchart():

> args(stripchart)

Page 86: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.3. GRAFICOS UNIVARIADOS 77

function (x, method = "overplot", jitter = 0.1, offset = 1/3,

vertical = FALSE, group.names, add = FALSE, at = NULL, xlim = NULL,

ylim = NULL, main = "", ylab = "", xlab = "", log = "", pch = 0,

col = par("fg"), cex = par("cex"))

NULL

Como exemplo, vamos considerar o seguinte conjunto de dados:

> set.seed(12)

> dados <- sample(100, 30, rep = TRUE)

Figura 2.16: Grafico de dispersao - Stripchart.> stripchart(dados, method = "overplot")

0 20 40 60 80

Outras opcoes podem ser inseridas. Em especial, o metodo de posicionamento

dos pontos e relevante, pois, por exemplo, observacoes com o mesmo valor podem

passar despercebidas em um grafico desse tipo. Assim, existem tres opcoes nesse

Page 87: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

78 CAPITULO 2. GRAFICOS ESTATISTICOS

aspecto: overplot, que insere os pontos sobrepostos, jitter, insere os pontos com um

”ruıdo”e stack, que insere os pontos um sobre o outro, como se fosse uma pilha de

tijolos.

> stripchart(dados, method = "jitter", jitter = 0.1)

> stripchart(dados, method = "stack")

Quando os dados estao agrupados por grupos ou categorias, a funcao stripchart()

constroi um grafico, separando as categorias, da seguinte maneira

Figura 2.17: Stripchart com grupos.> set.seed(12)

> x <- rnorm(25, 5, 2)

> grupo <- gl(5, 5)

> stripchart(x ~ grupo)

2 4 6 8

12

34

5

Experimente, por exemplo, inserir as medias no grafico:

Page 88: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.3. GRAFICOS UNIVARIADOS 79

Figura 2.18: Stripchart com grupos e medias.> grupo.m <- tapply(x, grupo, mean)

> grupo.m

1 2 3 4 5

3.488884 4.642260 3.803347 5.415836 5.766047

> stripchart(x ~ grupo)

> stripchart(grupo.m ~ 1:5, col = 2, add = T, pch = "x")

2 4 6 8

12

34

5

x

x

x

x

x

Dotchart

A funcao dotchart() e utilizada visualizar os dados, na ordem em que sao

fornecidos. Antes de iniciar, veja quais sao os argumentos dessa funcao.

Como exemplo, considere o seguinte conjunto de dados:

> set.seed(12)

> dados <- sample(100, 10, rep = TRUE)

Page 89: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

80 CAPITULO 2. GRAFICOS ESTATISTICOS

Um grafico pode ser construıdo da seguinte maneira:

Figura 2.19: Dotchart.> dotchart(dados)

0 20 40 60 80

Tambem, se os dados estiverem em uma ordem, o mesmo conjunto de dados e

visualizado de outra maneira:

Se os dados estiverem na forma de grupos

Para finalizar, procure alterar os argumentos fornecidos para as funcoes dotchart()

e stripchart(). Experimente tambem, estudar outros argumentos e trabalhar com

outros dados.

2.4 Mais graficos exploratorios

Existem muitos graficos para analsie exploratoria de dados. Nesta secao, vere-

mos alguns outros graficos que podem ser utilizados para resumir informacoes. No

Page 90: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.4. MAIS GRAFICOS EXPLORATORIOS 81

Figura 2.20: Dotchart.> set.seed(12)

> dados <- sample(100, 10, rep = TRUE)

> dados

[1] 7 82 95 27 17 4 18 65 3 1

> dotchart(sort(dados))

0 20 40 60 80

R, alguns desses graficos sao inseridos em pacotes (packages).

Por exemplo, no pacote gplots existem algums funcoes graficas para explorar

dados.

2.4.1 ballonplot

A funcao baloonplot() resume as informacoes em uma tabela mas, ha algu-

mas caracterısticas que podem ser acrescentadas nessa tabela.

Page 91: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

82 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.21: Dotchart.> set.seed(12)

> x <- rnorm(25, 5, 2)

> grupo <- gl(5, 5)

> grupos <- data.frame(x, grupo)

> dotchart(x, groups = grupo)

1

2

3

4

5

2 4 6 8

Primeiro, e necessarioa carregar o pacote gplots.

> require("gplots")

Veja o exemplo:

Experimente verificar quais sao os argumentos da funcao e tente modificar

alguns argumentos do exemplo acima.

Page 92: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.4. MAIS GRAFICOS EXPLORATORIOS 83

Figura 2.22: Baloonplot.> set.seed(12)

> vendas.mar <- sample(100:1000, 50)

> vendas.abr <- sample(100:800, 50)

> marca <- rep(LETTERS[1:5], each = 10)

> cidade <- c("Curitiba", "Maringa", "Londrina", "Cascavel",

+ "Foz do Iguacu")

> cidades <- rep(cidade, 10)

> dados <- data.frame(cidades, marca, vendas.mar, vendas.abr)

> balloonplot(dados$marca, dados$cidades, dados$vendas.mar)

3826 4935 5243 6818 4928

4528

4518

4535

5854

6315

25750

A B C D E

Cascavel

Curitiba

Foz do Iguaçu

Londrina

Maringá

dadoscidades

dadosmarca

461 1125 1206 1237 499

292 938 1278 1223 787

358 533 975 1086 1583

1620 1011 450 1695 1078

1095 1328 1334 1577 981

Balloon Plot for dados, marca by dados, cidades.Area is proportional to dados$vendas.mar.

2.4.2 pairs

Outro grafico exploratorio, pode ser construıdo com a funcao pairs(). Essa

funcao relaciona as variaveis contidas em um ’data frame’ ou matriz, formando uma

matriz de dispersao de dados. Veja o resultado da funcao aplica aos dados de vendas:

Page 93: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

84 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.23: Multiplos graficos de dispersao.> pairs(dados)

cidades

1 2 3 4 5 200 500 800

12

34

5

12

34

5

marca

vendas.mar

200

600

1000

1 2 3 4 5

200

500

800

200 600 1000

vendas.abr

2.4.3 bpplot

Dentro do pacote Hmisc, experimente utilizar a funcao bpplot(). Essa funcao

cria um boxplot, considerando os percentis de cada variavel. Essaa funcao retorna

um grafico para a varıavel parecido com o boxplt mas, as observacoes da variavel

sao orepresentadas pela largura do boxplot.

2.4.4 ecdf

A funcao ecdf, dentro do pacote Hmisc, constroi um grafico com a funcao de

distribuicao empırica acumulada dos dados. E um grafico onde a ordem de cada

observacao e inserida no grafico em funcao de cada observacao na amostra.

Page 94: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.4. MAIS GRAFICOS EXPLORATORIOS 85

Figura 2.24: Grafico boxplot com percentis.> set.seed(12)

> x1 <- rnorm(500)

> x2 <- runif(500, -2, 2)

> x3 <- abs(rnorm(500)) - 2

> bpplot(x1, x2, x3)−

3−

2−

10

12

Box−Percentile Plot

x1 x2 x3

Figura 2.25: Grafico ecdf.> A <- rnorm(50, 5, 2)

> B <- rnorm(50, 10, 2)

> x <- c(A, B)

> g <- c(rep("A", length(A)), rep("B", length(B)))

> ecdf(x, group = g)

2.4.5 O grafico Normal de Probabilidade

Em muitas analises estatısticas, um dos pressupostos mais comuns e de que a

variavel aleatoria em estudo tenha distribuicao Normal. Alem de varios testes de

Page 95: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

86 CAPITULO 2. GRAFICOS ESTATISTICOS

hipoteses existentes para realizar essa avaliacao, existem, tambem, maneiras graficas

de se avaliar se uma variavel aleatoria possui ou nao distribuicao Normal.

Um desses metodos graficos, bastante utilizado, e o Grafico Normal de Proba-

bilidade. No R, a funcao qqnorm() constroi o grafico.

Esse grafico tambem pode ser utilizado para avaliar se existem outliers ou

efeitos significativos de fatores em experimentos planejados.

Base teorica do metodo

Considere a figura 2.26, representando uma Distribuicao Normal.

Figura 2.26: Grafico da distribuicao Normal.> curve(dnorm(x), from = -4, to = 4, ylab = "")

> segments(1, -0.2, 1, 0.243)

> text(0, 0.1, "P")

−4 −2 0 2 4

0.0

0.1

0.2

0.3

0.4

x

P

A probabilidade percentual P de ocorrencia de algum valor menor do que x e

Page 96: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.4. MAIS GRAFICOS EXPLORATORIOS 87

dada pela area a esquerda de x.

Fazendo um grafico para todos os possıveis valores de P vs x obtem-se a curva

normal acumulada, que tem a caracterıstica sigmoide (forma de S, figura 2.27).

Figura 2.27: Grafico da distribuicao Normal acumulada.> curve(pnorm(x), from = -4, to = 4, ylab = "P%")

−4 −2 0 2 4

0.0

0.2

0.4

0.6

0.8

1.0

x

P%

Para gerar o grafico normal de probabilidade, faz-se um ajuste na escala vertical

(P) de modo a se obter uma linha reta. Considere uma amostra de 10 pontos (n=10).

A primeira observacao (ordenada) apresenta os primeiros 10% da distribuicao acu-

mulada da variavel. A segunda representa 20% e assim por diante. Considerando

que a para estabelecer uma reta a partir da curva acumulada o ponto central (50%

ou 0.5) permanece o mesmo, o ajuste pode ser realizado em relacao ao centro ou

0.5. Ou ainda, a cada 10% pode-se considerar o ponto intermediario da classe para

refazer o grafico de P vs x. Assim, de forma geral tem-se

Pi = 100 ∗ i− 0.5

n

Page 97: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

88 CAPITULO 2. GRAFICOS ESTATISTICOS

onde i = 1, 2, 3, . . . , n representa a posicao da observacao na amostra ordenada e n

o tamanho da amostra ou no caso de um experimento, o numero de efeitos.

Um grafico das observacoes ordenadas vs os valores percentuais Pi indica o

comportamento da variavel.

No caso da avaliacao da Normalidade de uma variavel, espera-se que a maioria

dos pontos esteja sobre a reta e concentrados na regiao central. Nas caudas, como

se espera para uma distribuicao Normal, podem aparecer pontos nao muito concen-

trados e um pouco afastados da reta. Pontos muito distantes e afastados da reta

indicam um possıvel outlier ou dado discrepante.

Em se tratando de um experimento, nesse grafico, tem-se que tentar avaliar

quais sao os efeitos que nao devem estar ocorrendo ao acaso. Isso pode ser identifi-

cado de forma subjetiva pelos pontos que se afastam de uma linha reta.

Essa linha reta e colocada subjetivamente sobre os pontos. Uma sugestao

(Montgomery, 2001) e estabelecer uma reta entre os pontos nos quantis 25% e 75%.

Para saber quais sao os efeitos significativos basta observar quais sao os pontos

no grafico que se afastam da reta e identificar os efeitos correspondentes.

Construindo o grafico no R

Exemplo de dados de um experimento:

Para construir o grafico, inicialmente necessitamos das estimativas dos efeitos

dos fatores do experimento. Considere o exemplo de um experimento fatorial 24 com

uma repeticao. Os efeitos estimados sao apresentados na tabela 2.1:

As probabilidades de cada um dos efeitos sao obtidas por P = 100∗(i−0, 5)/15.

Assim, os resultados para construcao do grafico sao apresentados na tabela 2.4.5

As probabilidades de cada um dos efeitos sao obtidas por P = 100∗(i−0, 5)/15.

O grafico e obtido quando os efeitos vs P sao colocados em um grafico de

dispersao. Uma linha reta entre os valores dos efeitos ajuda a verificar quais sao os

pontos que podem ser considerados como significativos.

Essa linha reta e colocada subjetivamente sobre os pontos. Uma regra (Mont-

gomery, 2001) e ligar os pontos nos quantis 25% e 75%.

Page 98: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.4. MAIS GRAFICOS EXPLORATORIOS 89

Tabela 2.1: Estimativas de efeitos de um experimento 24

Efeitos EstimativasA -8,00B 24,00C -2,25D -5,50

AB 1,00AC 0,75AD 0,00BC -1,25BD 4,50CD -0,25

ABC -0,75ABD 0,50ACD -0,25BCD -0,75

ABCD -0,25

Tabela 2.2: Calculo dos Percentuais Pi

i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15efeitos -8 -5,5 -2,25 -1,25 -0,75 -0,75 -0,25 -0,25 -0,25 0 0,5 0,75 1 4,5 24Identificacao A D C BC ABC BCD CD ACD ABCD AD ABD AC AB BD BPi 3,3 10 16,7 23,3 30 36,7 43,3 50 56,7 63,3 70 76,7 83,3 90 96,7

Os efeitos sao:

> efeitos <- c(-8, 24, -2.25, -5.5, 1, 0.75, 0, -1.25, 4.5,

+ -0.25, -0.75, 0.5, -0.25, -0.75, -0.25)

Ordenando

> efeitos.o <- sort(efeitos)

> fatores <- c("A", "B", "C", "D", "AB", "AC", "AD", "BC",

+ "BD", "CD", "ABC", "ABD", "ACD", "BCD", "ABCD")

> names(efeitos) <- fatores

Aplicando os percentuais acumulados para os efeitos tem-se os seguintes valo-

res:

> p <- c(3.3, 10, 16.7, 23.3, 30, 36.7, 43.3, 50, 56.7, 63.3,

+ 70, 76.7, 83.3, 90, 96.7)

Page 99: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

90 CAPITULO 2. GRAFICOS ESTATISTICOS

Esses valores podem ser obtidos atraves da seguinte funcao no R:

> P <- function(efeitos.o) {

+ p <- numeric(0)

+ n <- 1:length(efeitos)

+ for (i in n) {

+ p[i] <- 100 * (i - 0.5)/length(efeitos)

+ }

+ print(p)

+ }

> P()

[1] 3.333333 10.000000 16.666667 23.333333 30.000000 36.666667 43.333333

[8] 50.000000 56.666667 63.333333 70.000000 76.666667 83.333333 90.000000

[15] 96.666667

O grafico (figura 2.28) e obtido pelo comando plot():

Para fazer a linha, podemos encontrar os quantis dos efeitos,

> quantile(efeitos.o)

0% 25% 50% 75% 100%

-8.000 -1.000 -0.250 0.625 24.000

Utilizando o comando locator() pode-se fazer uma linha entre os pontos dos

quantis 25% e 75%. Depois do comando, clique nos pontos correspondentes no

grafico e uma linha sera criada.

> points(quantile(efeitos.o, 0.25), 25, col = 2, pch = 19,

+ cex = 0.5)

> points(quantile(efeitos.o, 0.75), 75, col = 2, pch = 19,

+ cex = 0.5)

> segments(quantile(efeitos.o, 0.25), 25, quantile(efeitos.o,

+ 0.75), 75, col = "blue")

Voce pode usar, tambem, o comando locator:

Page 100: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.4. MAIS GRAFICOS EXPLORATORIOS 91

Figura 2.28: Grafico dos efeitos.> plot(efeitos.o, p)

−5 0 5 10 15 20 25

020

4060

8010

0

efeitos.o

p

> locator(n = 2, type = "l")

Os efeitos significativos podem ser identificados com o comando identify().

Lembre-se que os efeitos estao ordenados do menor para o maior.

> identify(efeitos.o, p)

Para terminar, aperte o botao direito do mouse (Linux). No Windows, aperte

o botao direito e selecione stop.

Faca agora o Grafico Normal de Probabilidade gerado pelo R. Compare os

graficos.

Experimente a opcao

Page 101: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

92 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.29: Grafico Normal de Probabilidade.> qqnorm(efeitos)

> qqline(efeitos)

−1 0 1

−5

05

1015

2025

Normal Q−Q Plot

Theoretical Quantiles

Sam

ple

Qua

ntile

s

> identify(c$x, c$y, labels = names(c$x))

E agora?

2.4.6 Curvas de densidades

Em algumas situacoes, pode ser de interesse fazer graficos de funcoes relacio-

nadas a algumas distribuicoes. Nesta secao, veremos como utilizar a funcao curve()

para gerar alguns graficos dessa natureza.

Por exemplo, vamos utilizar inicialmente a distribuicao Normal.

A distribuicao Weibull, pode ser representada da seguinte forma:

Page 102: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.4. MAIS GRAFICOS EXPLORATORIOS 93

Figura 2.30: Grafico Normal de Probabilidade - datax=T.> c <- qqnorm(efeitos, datax = T)

> qqline(efeitos)

−5 0 5 10 15 20 25

−1

01

Normal Q−Q Plot

Sample Quantiles

The

oret

ical

Qua

ntile

s

E a distribuicao Gama, da seguinte maneira:

Em cada uma destas distribuicoes, modifique os parametros para entender o

comportamento de cada uma.

Sugestao de exercıcios

Experimente construir o grafico de outras distribuicoes. Como sugestao, expe-

rimente a distribuicao F , χ2 e t.

2.4.7 coplot

A funcao coplot() pode ser utilizada para representar dados que podem ser

arranjados da forma resp‖b, onde a e b sao variaveis do tipo fator. Em geral, modelos

Page 103: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

94 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.31: Uso da funcao curve para Distribuicao Normal.> curve(dnorm(x, m = 20, sd = 3), from = 0, to = 30, main = "Distribuic~ao Normal")

0 5 10 15 20 25 30

0.00

0.02

0.04

0.06

0.08

0.10

0.12

Distribuição Normal

x

dnor

m(x

, m =

20,

sd

= 3

)

estatısticos podem ser escritos sob essa forma. Uma plicacao esta na analise de dados

experimentais, por exemplo.

Como exemplo, considere o seguinte conjunto de dados

> set.seed(123)

> resp <- rnorm(24, 50, 5)

> b <- as.factor(rep(1:3, each = 8))

> c <- as.factor(rep(1:2, each = 4, len = 24))

> dados <- data.frame(resp, b, c)

> dados

resp b c

1 47.19762 1 1

Page 104: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.4. MAIS GRAFICOS EXPLORATORIOS 95

Figura 2.32: Uso da funcao curve para Distribuicao Weibull.> curve(dweibull(x, scale = 2, shape = 1), from = 0, to = 15,

+ main = "Distribuic~ao Weibull")

0 5 10 15

0.0

0.1

0.2

0.3

0.4

0.5

Distribuição Weibull

x

dwei

bull(

x, s

cale

= 2

, sha

pe =

1)

2 48.84911 1 1

3 57.79354 1 1

4 50.35254 1 1

5 50.64644 1 2

6 58.57532 1 2

7 52.30458 1 2

8 43.67469 1 2

9 46.56574 2 1

10 47.77169 2 1

11 56.12041 2 1

12 51.79907 2 1

13 52.00386 2 2

14 50.55341 2 2

Page 105: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

96 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.33: Uso da funcao curve para Distribuicao Gamma.> curve(dgamma(x, scale = 1.5, shape = 2), from = 0, to = 15,

+ main = "Distribuic~ao Gamma")

0 5 10 15

0.00

0.05

0.10

0.15

0.20

0.25

Distribuição Gamma

x

dgam

ma(

x, s

cale

= 1

.5, s

hape

= 2

)

15 47.22079 2 2

16 58.93457 2 2

17 52.48925 3 1

18 40.16691 3 1

19 53.50678 3 1

20 47.63604 3 1

21 44.66088 3 2

22 48.91013 3 2

23 44.86998 3 2

24 46.35554 3 2

A funcao coplot() pode ser utilizada da seguinte maneira:

Interprete o grafico!

Page 106: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.4. MAIS GRAFICOS EXPLORATORIOS 97

Figura 2.34: Uso do coplot.> coplot(resp ~ b | c)

1 2 3

4045

5055

1 2 3

b

resp

1

2

Given : c

Experimente, tambem, inverter os fatores:

2.4.8 Graficos para representacao de superfıcie de resposta

Em algumas analises, graficos tridimensionais podem ser gerados para visuali-

zacao do comportamento de modelos estatısticos.

Superfıcie de resposta

Entre os mais comuns esta o grafico de superfıcie de resposta. Este tipo de

grafico e gerado a partir de modelos que expressam o comportamento de uma variavel

resposta em funcao de dois ou mais fatores.

Page 107: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

98 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.35: Uso do coplot.> coplot(resp ~ c | b)

4045

5055

1 2

1 2

4045

5055

c

resp

1

2

3

Given : b

Nao abordaremos aqui o ajuste de modelos. Faremos apenas o uso de modelos

pre-existentes

Para construir o grafico de superfıcie de resposta sao necessarias tres variaveis,

ou seja, x e y, representando os nıveis dos fatores e uma variavel z, representando o

comportamento da variavel resposta.

Como exemplo, considere uma variacao de x e y da seguinte forma

> x <- seq(-1.5, 1.5, length = 30)

> y <- seq(-1.5, 1.5, length = 30)

Os valores preditos pelo modelo, nessa escala de variacao, podem ser preditos

por uma funcao ou um modelo

Page 108: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.4. MAIS GRAFICOS EXPLORATORIOS 99

> z.f <- function(x, y) {

+ y <- 31.76 + 1 * x + 0.46 * y - 0.74 * x^2 - 0.51 * y^2 +

+ 0.275 * x * y

+ }

Alternativamente, os coeficientes do modelo podem ser obtidos diretamente do

modelo (nesse caso ele nao existe, apenas apresentamos a forma)

> z <- function(x = x, y = y) {

+ y <- modelo$coef[1] + modelo$coef[2] * x + modelo$coef[3] *

+ y + modelo$coef[4] * x^2 + modelo$coef[5] * y^2 +

+ modelo$coef[6] * x * y

+ }

Antes de construirmos o grafico, veja como as tres variaveis x, y e z estao

organizadas.

Para gerar o grafico, os dados precisam ser agrupados de forma a serem utili-

zados pela funcao persp.

A funcao outer prepara os dados para serem utilizados pela funcao persp.

> z <- outer(x, y, z.f)

Para mais detalhes dessa funcao utilize

> `?`(outer)

Para construir a superfıcie, utilize a funcao persp da seguinte maneira:

Experimente alterar alguns argumentos e entender sua funcionalidade.

Os mesmos dados podem ser representados de duas outras formas. Atraves de

curvas de nıvel com a funcao countour() ou de um grafico representando a variavel

z por cores com a funcao image().

Curva de nıvel

Uma curva de nıvel pode ser construıda com a funcao countour(). Observe

que cada curva corresponde a uma ’altura’ da variavel resposta

Investigue a funcao curve() e experimente alterar algumas opcoes.

Page 109: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

100 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.36: Grafico de uma superfıcie de resposta.> persp(x, y, z, theta = -35, phi = 5, expand = 0.5, col = "gray",

+ xlab = "Tempo", ylab = "Temperatura", zlab = "Rend",

+ scale = T, ticktype = "detailed")

Tempo

−1.5−1.0

−0.50.0

0.51.0 1.5Temperatura

−1.5−1.0

−0.50.0

0.51.0

1.5

Rend

28

29

30

31

32

Grafico image()

Uma outra alternativa aos graficos anteriores e construir um grafico de cores

para representar o modelo. A funcao image() pode ser utilizada nesse caso.

VEja o seguinte exemplo:

Para finalizar, considere que o ponto maximo (nesse caso) corresponde a 0,7948

e 0,6556 graus. A representacao pode ser feita da seguinte forma

Para finalizar, experimente utilizar alguns exemplos do pacote lattice:

> require(lattice)

> x <- seq(-pi, pi, len = 20)

Page 110: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.4. MAIS GRAFICOS EXPLORATORIOS 101

Figura 2.37: Grafico de uma curva de nıvel.> contour(x, y, z, xlab = "Tempo", ylab = "Temperatura")

Tempo

Tem

pera

tura

−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5

−1.

5−

1.0

−0.

50.

00.

51.

01.

5

> y <- seq(-pi, pi, len = 20)

> g <- expand.grid(x = x, y = y)

> g$z <- sin(sqrt(g$x^2 + g$y^2))

> print(wireframe(z ~ x * y, g, drape = TRUE, aspect = c(3,

+ 1), colorkey = TRUE))

> wireframe(volcano, shade = TRUE, aspect = c(61/87, 0.4),

+ light.source = c(10, 0, 10))

Experimente tambem a utilizar a funcao scatterplo3d() do pacote do mesmo

nome:

> require(scatterplot3d)

> z <- seq(-10, 10, 0.01)

Page 111: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

102 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.38: Grafico de cores.> image(x, y, z, col = topo.colors(12))

−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5

−1.

5−

1.0

−0.

50.

00.

51.

01.

5

x

y

> x <- cos(z)

> y <- sin(z)

> scatterplot3d(x, y, z, highlight.3d = TRUE, col.axis = "blue",

+ col.grid = "lightblue", main = "scatterplot3d - 1", pch = 20)

2.5 Exercıcios

1. Construa o histograma da figura 2.40, baseado nos seguintes dados:

> set.seed(11)

> x1 <- rnorm(50, 50, 10)

2. Construa o histograma da figura 2.41, baseado nos seguintes dados de 1:

Page 112: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.5. EXERCICIOS 103

Figura 2.39: Grafico com representacao do ponto de maximo.> image(x, y, z, col = topo.colors(12))

> contour(x, y, z, xlab = "Tempo", ylab = "Temperatura", add = T)

> points(0.7948, 0.6556, col = "red")

−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5

−1.

5−

1.0

−0.

50.

00.

51.

01.

5

x

y

3. Construa o histograma e o polıgono de frequencia da figura 2.42, baseado nos

seguintes dados:

> set.seed(11)

> x2 <- sample(1:50, 20, rep = TRUE)

4. Construa o grafico boxplot da figura 2.43, baseado nos seguintes dados:

> set.seed(123)

> x3 <- rnorm(50)

Page 113: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

104 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.40: Primeiro histograma.> hist(x1, br = seq(0, 100, by = 10), density = 20, angle = 30,

+ border = 2, main = "Primeiro histograma")

Primeiro histograma

x1

Fre

quen

cy

0 20 40 60 80 100

05

1015

20

Page 114: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.5. EXERCICIOS 105

Figura 2.41: Segundo Histograma.> hist(x1, br = seq(0, 100, by = 5), col = "gray", main = "Segundo histograma",

+ xlab = "resposta", ylab = "Probabilidade", prob = TRUE)

> lines(density(x1))

Segundo histograma

resposta

Pro

babi

lidad

e

0 20 40 60 80 100

0.00

0.01

0.02

0.03

0.04

Page 115: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

106 CAPITULO 2. GRAFICOS ESTATISTICOS

Figura 2.42: Polıgono de Frequencia.> set.seed(11)

> x2 <- sample(1:50, 20, rep = TRUE)

> x2.h <- hist(x2, , br = seq(0, 50, by = 5))

> lines(c(min(x2.h$breaks), x2.h$mids, max(x2.h$breaks)), c(0,

+ x2.h$counts, 0), type = "l")

Histogram of x2

x2

Fre

quen

cy

0 10 20 30 40 50

01

23

4

Page 116: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

2.5. EXERCICIOS 107

Figura 2.43: Grafico boxplot com rug.> boxplot(x3, boxwex = 0.15, ylab = "Resposta")

> rug(x3, side = 2)

−2

−1

01

2R

espo

sta

Page 117: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

Capıtulo 3

Graficos para dados

georeferenciados

Sumario

3.1 Criando um Pictograma . . . . . . . . . . . . . . . . . . . 122

3.0.1 Graficos para dados georeferenciados

Dados georeferenciados sao aqueles que possuem um sistema de coordenadas

que o localizam no espaco. Em geral esse espaco e do tipo bidimensional, ou seja,

com coordenadass x, y, que podem representar distancias, em metros, ou mesmo

sob a forma de latitude, longitude. Em outras situacoes, dados georeferenciados

podem ser representados em um espaco tridimensional, como por exemplo, estrelas

e planetas, conteudo intracelular, cerebral etc.

Existem muitas formas de se representar dados georeferenciados. Desde um

simples grafico de dispersao ate um mapa com cores representando intensidades

de ocorrencia de eventos. Este ultimo, utiliza normalmente metodologias baseadas

em modelagem geoestatıstica. Nao daremos enfoque em modelos espaciais neste

capıtulo.

Assim como existem diferentes maneiras de se representar dados georeferen-

ciados, no R, existem varios pacotes criados para tratar desse tipo de informacao.

Neste capıtulo, veremos alguns desses pacotes. Algumas funcoes serao utilizadas

para representar dados georeferenciados. Tambem veremos algumas funcoes que

108

Page 118: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

109

trabalham especificamente com mapas.

O pacote sp

O pacote sp possui muitas funcoes que trabalham com dados georeferenciados.

Alem de funcoes graficas, existem muitas funcoes que definem classes de objetos

para serem utilizados no R. Classes sao tipos de objetos que possuem caracterısticas

especıficas para serem utilizados por diferentes pacotes em diferentes metodologias.

Analises baseadas em graficos sao uma dessas possibilidades.

Como exemplo, vamos criar um conjunto de dados para representa-lo.

> xc = round(runif(10), 2)

> yc = round(runif(10), 2)

> xy = cbind(xc, yc)

> xy

xc yc

[1,] 0.60 0.94

[2,] 0.33 0.30

[3,] 0.49 0.06

[4,] 0.95 0.95

[5,] 0.48 0.72

[6,] 0.89 0.14

[7,] 0.91 0.55

[8,] 0.61 0.95

[9,] 0.41 0.59

[10,] 0.15 0.40

Observe que o objeto xy e da classe matrix.

> class(xy)

[1] "matrix"

A aplicacao da funcao plot() resulta no grafico da figura 3.1:

No pacote sp, a funcao SpatialPoints() muda a classe do objeto para ser

utilizado por outras funcoes.

Page 119: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

110 CAPITULO 3. GRAFICOS PARA DADOS GEOREFERENCIADOS

Figura 3.1: Grafico de dispersao.> plot(xy)

0.2 0.4 0.6 0.8

0.2

0.4

0.6

0.8

xc

yc

> xy.sp = SpatialPoints(xy)

Observe agora que o objeto xy.sp possui, agora, algumas propriedades.

> class(xy.sp)

[1] "SpatialPoints"

attr(,"package")

[1] "sp"

Experimente, tambem, utilizar a funcao plot() sobre esse objeto.

Para obter os dados na forma de matriz, novamente, utilize-se a funcao coordinates()

Page 120: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

111

Figura 3.2: Grafico de dispersao de um objeto da classe sp.> plot(xy)

0.2 0.4 0.6 0.8

0.2

0.4

0.6

0.8

xc

yc

> xy.cc <- coordinates(xy.sp)

> class(xy.cc)

[1] "matrix"

Existem outros, recursos dentro do pacote sp, que podem ser utilizados. Por

exemplo, a funcao bbox() retorna os pontos extremos dos dados. Explore o pacote

e descubra outras funcionalidades.

Alem disso, um summary() mostra outros atributos dos objetos.

> summary(xy.sp)

Object of class SpatialPoints

Coordinates:

Page 121: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

112 CAPITULO 3. GRAFICOS PARA DADOS GEOREFERENCIADOS

min max

xc 0.15 0.95

yc 0.06 0.95

Is projected: NA

proj4string : [NA]

Number of points: 10

Pontos podem ter atributos. Por exemplo, um ponto pode ser uma medida

da altura de uma arvore, etc. Assim, em cada coordenada podem existir varias

medidas. Essas medidas podem ser representadas graficamente.

Como exemplo, vamos criar duas variaveis, representadas aqui por z1 e z2:

> df <- data.frame(z1 = round(5 + rnorm(10), 2), z2 = 20:29)

Inicialmente, uma forma de construir ou de inserir medidas em um objeto e

utilizando a funcao SpatialPointsDataFrame()

> xy.spdf <- SpatialPointsDataFrame(xy.sp, df)

> xy.spdf

coordinates z1 z2

1 (0.6, 0.94) 5.38 20

2 (0.33, 0.3) 4.50 21

3 (0.49, 0.06) 4.67 22

4 (0.95, 0.95) 3.98 23

5 (0.48, 0.72) 3.93 24

6 (0.89, 0.14) 5.30 25

7 (0.91, 0.55) 5.45 26

8 (0.61, 0.95) 5.05 27

9 (0.41, 0.59) 5.92 28

10 (0.15, 0.4) 7.05 29

Agora, um summary() do objeto xy.spdf fornece mais informacoes sobre o

objeto.

> summary(xy.spdf)

Page 122: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

113

Object of class SpatialPointsDataFrame

Coordinates:

min max

xc 0.15 0.95

yc 0.06 0.95

Is projected: NA

proj4string : [NA]

Number of points: 10

Data attributes:

z1 z2

Min. :3.930 Min. :20.00

1st Qu.:4.543 1st Qu.:22.25

Median :5.175 Median :24.50

Mean :5.123 Mean :24.50

3rd Qu.:5.433 3rd Qu.:26.75

Max. :7.050 Max. :29.00

De maneira geral, a distribuicao desses pontos pode ser feita com o uso da

funcao bubble() ou spplot().

Avalie as duas funcoes acima, modifique parametros, crie outros da-

dos ... .

Mais alguns exemplos de funcoes, selecionadas, do pacote sp:

Sugestao de exercıcios:

1. Construa um grafico para representar a distribuicao de pontos. Mostre o gra-

fico para um colega e peca para ele reproduzir o mesmo grafico. No final da

aula troquem os comandos graficos;

2. Explore as funcionalidades de alguns pacotes que trabalham com graficos es-

paciais;

Page 123: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

114 CAPITULO 3. GRAFICOS PARA DADOS GEOREFERENCIADOS

Figura 3.3: Grafico de bolhas.> print(bubble(xy.spdf, "z1", key.space = "bottom"))

z1

3.934.5435.1755.4337.05

3.0.2 Trabalhando com Mapas

Quando se trata de dados georeferenciados, pode-se ter interesse na construcao

de mapas que representam areas determinadas por polıgonos. Por exemplo, um

cidade pode ser formada por bairros, um estado por municıpios e assim por diante.

No R, existem varios formatos de objetos que podem ser utilizados por dife-

rentes pacotes para representar um mapa.

Assim como para dados pontuais, tambem existem pacotes com funcoes espe-

cıficas para trabalhar com dados que representam varios polıgonos. Por exemplo,

o mapa de uma cidade pode ser representado por bairros. Cada bairro pode ser

delimitado por varias linhas. A uniao dessas linhas, formando vertices, gera um

polıgono.

Page 124: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

115

Figura 3.4: Grafico de cores para pontos.> print(spplot(xy.spdf, "z1", key.space = "bottom"))

[3.93,4.554](4.554,5.178](5.178,5.802](5.802,6.426](6.426,7.05]

Existem varios formatos possıveis. Os mais comuns sao aqueles que tratam com

shapefiles, ou arquivos de formas. Em geral, esses arquivos vem acompanhados

de mais arquivos que fornecem informacoes sobre o mapa, como nomes, variaveis

medidas etc.

Nesta secao, veremos apenas alguns exemplos de utilizacao de funcoes para

gerar alguns mapas. Inicialmente, vamos trabalhar com mapas ja existentes dentro

dos pacotes do Re em seguida vamos obter alguns arquivos da web para criar mapas.

Nao trataremos aqui, da criacao dos arquivos de geracao dos polıgonos de

mapas. Apenas faremos uso de arquivos ja disponıveis no Rou na web.

Page 125: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

116 CAPITULO 3. GRAFICOS PARA DADOS GEOREFERENCIADOS

Figura 3.5: Grafico image.> bpy.colors(10)

[1] "#000033FF" "#000099FF" "#0000FFFF" "#5000FFFF" "#9F0FF0FF"

[6] "#EF42BDFF" "#FF758AFF" "#FFA857FF" "#FFDB24FF" "#FFFF60FF"

> p <- expand.grid(x = 1:30, y = 1:30)

> p$z <- p$x + p$y

> coordinates(p) <- c("x", "y")

> gridded(p) <- TRUE

> image(p, col = bpy.colors(100), asp = 1)

Os pacotes maps e maptools

Para iniciar, vamos explorar a s funcionalidades do pacote maps. Neste pacote

existem alguns arquivos e funcoes que podem ser utilizados para gerar mapas.

Experimente utilizar simplesmente

Page 126: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

117

Figura 3.6: Grafico de bolhas – dados meuse.> data(meuse)

> coordinates(meuse) <- c("x", "y")

> print(bubble(meuse, "cadmium", maxsize = 2.5, main = "cadmium concentrations (ppm)",

+ key.entries = 2^(-1:4)))

cadmium concentrations (ppm)

0.5124816

> map()

Aparecera um grafico do mapa mundial.

Existem, tambem, maps de alguns paıses como Franca, Italia e Estados Unidos.

Vamos criar esses mapas!

O mapa mundial pode ser explorado por paıses

Agora, vamos explorer o pacote maptools.

Esse pacote faz uso de arquivos externos para criar mapas. Basicamente, tres

arquivos sao exigidos para a geracao de um mapa:

Page 127: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

118 CAPITULO 3. GRAFICOS PARA DADOS GEOREFERENCIADOS

Figura 3.7: Grafico distancias do rio.> data(meuse.grid)

> coordinates(meuse.grid) = c("x", "y")

> gridded(meuse.grid) = TRUE

> image(meuse.grid["dist"], main = "Distance to river Meuse")

• um arquivo com a extensao .shp, ou o shapefile, que e o arquivo que fornece

as informacoes sobre os polıgonos;

• um arquivo com a extensao .dbf, que contem nomes;

• e um arquivo com a extensao .shx, que contem ındices dos dados.

Assim, para gerar um mapa com uso do pacote maptools sao necessarios pelo

menos esses tres arquivos.

Alguns desses arquivos estao disponıveis na Internet. Por exemplo, no site do

IBGE (Instituto Brasileiro de Geografia e Estatıstica) existe uma area com arquivos,

nos formatos necessarios para uso com o pacote maptools.

Page 128: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

119

Figura 3.8: Grafico distancias do rio com pontos.> data(meuse.grid)

> coordinates(meuse.grid) = c("x", "y")

> gridded(meuse.grid) = TRUE

> image(meuse.grid["dist"], main = "Distance to river Meuse")

> data(meuse)

> coordinates(meuse) = c("x", "y")

> points(coordinates(meuse), pch = "+")

++ + +++

+++ +++

+++++

++

++++

++++++

+

+++ +++++++

+++

+

+++++

++

+++++++

++

+++

++

++

++

++++++++

++++

+

+

+

++

++

++ ++

+

++

++++

+ + ++

++ +

++

+++

++++

++

+

++

+++

++

++

+

++

+

+

+

+

+++

+++

+ ++

+++++ +

++

++ ++

Por exemplo, acesse http://www.ibge.gov.br, depois, Download, geocien-

cias, mapas, malhas digitais, setor-urbano, PR. Aparecerao quatro arquivos. Salve

estes arquivos na sua area de trabalho. O primeiro, 4100400.shp, pode ser utilizado

de imediato.

No R, devemos ler os arquivos com a funcao read.shape().

Primeiro, carregamos o pacote

> require(maptools)

Page 129: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

120 CAPITULO 3. GRAFICOS PARA DADOS GEOREFERENCIADOS

Figura 3.9: Grafico do rio.> data(meuse.riv)

> plot(meuse.riv, type = "l", asp = 1)

> data(meuse.grid)

> coordinates(meuse.grid) = c("x", "y")

> gridded(meuse.grid) = TRUE

> image(meuse.grid, "dist", add = TRUE)

174000 176000 178000 180000 182000 184000 186000

3260

0032

8000

3300

0033

2000

3340

0033

6000

3380

00

meuse.riv[,1]

meu

se.r

iv[,2

]

e depois a leitura do arquivo shapefile

> estado <- read.shape("4100400.shp")

Agora, o arquivo esta disponıvel para ser utilizado. Utilize,

> est <- Map2poly(estado, as.character(estado$att.data$ID_))

> plot(est)

Page 130: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

121

Figura 3.10: Mapa mundial.

No endereco http://sigmine.dnpm.gov.br/baixar.htm existem outros ar-

quivos que podem ser trabalhados. Experimente gerar alguns graficos.

Page 131: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

122 CAPITULO 3. GRAFICOS PARA DADOS GEOREFERENCIADOS

Figura 3.11: Mapa da Franca.> map("france")

3.1 Criando um Pictograma

3.1.1 Introducao

Terceira avaliacao:

• A questao referente ao trabalho sera OPCIONAL. Caso o aluno nao apresente

um trabalho durante a terceira avaliacao, este quesito sera substituıdo por uma

questao adicional na prova.

• O trabalho tera valor 3 (tres pontos) (o mesmo valor da questao adicional);

• Para a terceira avaliacao, cada DUPLA (ou indivıduo) de alunos devera ela-

borar um pictograma. Um pictograma e um grafico que representa alguma

variavel atraves de sımbolos. Mais detalhes devem ser pesquisados pelo aluno;

Page 132: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

3.1. CRIANDO UM PICTOGRAMA 123

Figura 3.12: Mapa da Italia.> map("italy")

• Devem ser utilizados, obrigatoriamente, dados simulados no R(indique a se-

mente set.seed() utilizada). Os dados devem ser contextualizados, ou seja,

deve-se inserir os dados do grafico dentro de algum problema;

• Utilize o arquivo como exemplo de estrutura do trabalho (Clique aqui);

• O trabalho devera ser entregue no dia da terceira avaliacao. Os dados deverao

ser “colados” na pagina de avaliacao, conforme as avaliacoes anteriores;

• O trabalho nao deve ser entregue em formato impresso e nem enviado por

email para o professor;

• Criterios de avaliacao: cumprimento das normas graficas e de estruturacao

desse trabalho, utilizacao correta de pacotes e funcoes, funcionalidade dos

comandos do R, funcionalidade do grafico de pictograma, contextualizacao

dos dados simulados, utilizacao de ‘ferramentas graficas’ do R, criatividade.

Page 133: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

124 CAPITULO 3. GRAFICOS PARA DADOS GEOREFERENCIADOS

Figura 3.13: Mapa dos Estados Unidos.> map("usa")

Page 134: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

3.1. CRIANDO UM PICTOGRAMA 125

Figura 3.14: Mapa dos Estados Unidos com estados.> map("state")

Page 135: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

126 CAPITULO 3. GRAFICOS PARA DADOS GEOREFERENCIADOS

Figura 3.15: Mapa do Brasil.> map("world", "Brazil")

Page 136: ANA´LISE GRA´FICA COM USO DO R - UFPRaanjos/CE231/web/apostila.pdf · Curitiba, 10 de novembro de 2006. i Apresenta¸c˜ao O objetivo dessa disciplina ´e fomentar o uso da analise

3.1. CRIANDO UM PICTOGRAMA 127

Figura 3.16: Mapa do Brasil com a capital.> map("world", "Brazil")

> map.cities(country = "Brazil", capitals = 1)

Brasilia