Minicurso I
Análise Exploratória e Modelação com R
2. Análise Exploratória de Dados
Amílcar Oliveira ; Teresa Oliveira
ami...
Tópicos
1. Introdução
2. Análise Descritiva (caso univariado)
3. Gráficos
2
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO ...
1. Introdução (Tipos de dados)
3
Dados qualitativos ou categóricos:
 nominais
sexo: masculino, feminino
Cara, Coroa
 ord...
2. Análise Descritiva (Medidas de Localização)
4
Mediana
Seja {𝑥1, 𝑥2, … , 𝑥 𝑛} uma amostra com n observações e {𝑥(1)≤ 𝑥 2...
2. Análise Descritiva (Medidas de Localização)
5
Quantis
Na amostra ordenada {𝑥(1)≤ 𝑥 2 ≤ ⋯ ≤ 𝑥 𝑛 }, o quantil de ordem p
...
2. Análise Descritiva (Outros indicadores numéricos)
6
 mean(x) calcula a média dum vetor x
 quantile(x,probs=p) represe...
2. Análise Descritiva (Medidas de Dispersão)
7
 Amplitude total: A=max(x)-min(x)
 Amplitude interquartil: IQR(x)=𝑄0.75 −...
8
Exemplo 1
Considere o seguinte conjunto de dados, referente aos pesos (em Kg), de 15
alunos de uma turma do ensino secun...
9
R:
> peso<-c(70, 68, 83, 56, 49, 68, 73, 68, 55, 59, 48, 62,
63, 67, 75)
a) > mean(peso) d) > quantile(peso,0.95)
[1] 64...
10
Exemplo 2
Obtenha a média, a mediana, a variância e o desvio padrão da variável
Sepal.Length da base de dados iris exis...
11
R:
> data(iris)
> dados1<-iris
> attach(dados1)
> mean(Sepal.Lenght)
[1] 5.843333
> median(Sepal.Lenght)
[1] 5.8
> var(...
12
Observemos um pouco mais em detalhe esta base de dados:
Quais as variáveis e nomes?
> names(dados1)
[1] "Sepal.Length" ...
13
Descrição das variáveis:
Sepal.Length – Comprimento da sépala
Sepal.Width – Largura da sépala
Petal.Length – Compriment...
14
Podemos listar apenas os resultados de flores que têm, por exemplo um comprimento
de pétala superior a 5.8 cm. Nesse ca...
15
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
Construindo uma tabela de frequências
> data(iris)
>dados1<-iris
> a...
16
> data(USArrests)
> USArrests
Murder Assault UrbanPop Rape
Alabama 13.2 236 58 21.2
Alaska 10.0 263 48 44.5
Arizona 8.1...
17
R:
a)
> mean(USArrests[,1])
[1] 7.788
> mean(USArrests[,2])
[1] 170.76
> mean(USArrests[,4])
[1] 21.232
> var(USArrests...
18
b)
> median(USArrests[,1])
[1] 7.25
> median(USArrests[,2])
[1] 159
> median(USArrests[,4])
[1] 20.1
> quantile(USArres...
19
c)
> min(USArrests[,1])
[1] 0.8
> min(USArrests[,2])
[1] 45
> min(USArrests[,4])
[1] 7.3
> quantile(USArrests[,1],0.25)...
20
Outra forma (resumida) de obter algumas das medidas anteriores:
> summary(USArrests[,1])
Min. 1st Qu. Median Mean 3rd Q...
3. Gráficos
21
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
22
Funções no Package graphics:
Help pages for package ‘graphics’ version 2.9.2
graphics-package The R Graphics Package .P...
23
Funções no Package lattice:
Caso univariado:
barchart bar plots
bwplot box and whisker plots
densityplot kernel density...
24
> demo(graphics) # programa de demonstração
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
25
Gráficos no R
 Permitem analisar grandes quantidades de informação de forma simples e
rápida;
 Permite a geração de d...
26
text (permite inserção de texto, nas coordenadas definidas)
sintaxe
text(x,y,labels,cex,col)
opções:
x: posição relativ...
27
sintaxe
barplot(dados,opções)
opções:
space: espaço deixado antes de cada
barra
width: vector contendo a largura
relati...
28
>require(grDevices) # para cores
>tN <- table(Ni <-
stats::rpois(1000, lambda=4))
>barplot(tN, col=rainbow(20))
0 1 2 3...
29
> barplot(height =
cbind(Jovem = c(465, 91) /
465 * 100,
Adulto = c(840, 200) / 840 *
100, Idoso = c(37, 17) / 37
* 100...
30
sintaxe
pie(dados,opções)
opções:
labels: vector contendo os rótulos
de cada fatia.
radius: raio da circunferência do
g...
31
Exemplo
> stem(USArrests[,1])
The decimal point is at the |
0 | 8
2 | 11226672348
4 | 0349379
6 | 003682349
8 | 158007
...
32
Boxplot (Diagrama de extremos e quartis)
sintaxe
boxplot(dados, opções)
opções:
outline: T plota os outliers
F não plot...
33
Histograma
sintaxe
hist(dados, opções)
opções:
prob: T plota a densidade
F plota a frequência
absoluta
breaks:vector qu...
34
> hist(Petal.Lenght, breaks = "Sturges", main ="Histograma", xlab = "Comprimentos
das Pétalas (cm)", ylab="Frequência",...
35
> dados<-read.table("C:dados.txt",header=T)
> dados
Func EstCivil Instr NFilhos Salario Ano Mes Regiao
1 1 solteiro 1Gr...
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
36
Exercício 1 (Resolução)
a)
> attach(dados)
> EstCivil.tb <- table(Es...
37
Exercício 2 (resolução)
a)
> instrucao.tb <- table(Instr)
> instrucao.tb
Instr
1Grau 2Grau Superior
12 18 6
> prop.tabl...
38
(Dados extraídos do livro
Estatística Básica de W. Bussab
e P. Morettin)
> dadosC<-read.table("C:dadosC.txt",header=T)
...
39
Exercício 3
Considere a variável quantitativa discreta
NFilhos da tabela e obtenha:
a) Obtenha as frequências absolutas...
40
Exercício 3 (cont.)
c) Obtenha os gráficos de frequências relativas simples e de frequências relativas acumuladas da
va...
41
Exercício 4
Considere a variável quantitativa contínua Salario da tabela e obtenha:
a) Obtenha os valores desta variáve...
42
Exercício 4 (cont.)
> prop.table(Salario.tb) # Frequências relativas
(3.5,6.83] (6.83,10.2] (10.2,13.5] (13.5,16.8] (16...
43
Exercício 4 (cont.)
> stem(Salario) # diagrama de caule e folhas
The decimal point is at the |
4 | 0637
6 | 379446
8 | ...
44
outro exemplo:
> hist(rnorm(10000),nclass=101,col=c("blue","orange"),
xlab="standard normal deviates") # rnorm(10000) p...
Próximos SlideShares
Carregando em…5
×

Análise exploratória e modelação com r parte 2

242 visualizações

Publicada em

Curso de análise exploratória de dados com R

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
242
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
6
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Análise exploratória e modelação com r parte 2

  1. 1. Minicurso I Análise Exploratória e Modelação com R 2. Análise Exploratória de Dados Amílcar Oliveira ; Teresa Oliveira amilcar.oliveira@uab.pt teresa.oliveira@uab.pt DCeT, Universidade Aberta & CEAUL, Universidade de Lisboa Manaus, 12 a 15 de agosto, 2014
  2. 2. Tópicos 1. Introdução 2. Análise Descritiva (caso univariado) 3. Gráficos 2 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  3. 3. 1. Introdução (Tipos de dados) 3 Dados qualitativos ou categóricos:  nominais sexo: masculino, feminino Cara, Coroa  ordinais, i.e. categorias ordenadas classe social: baixa, média, alta classificação no exame: Muito bom, Bom, Suficiente, Mediocre, Mau Dados quantitativos ou numéricos:  discretos, i.e. contagens ou número inteiros número de ovos postos pela tartaruga marinha número de irmãos  contínuos, i.e. medidas numa escala contínua volume, área, peso, ... MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  4. 4. 2. Análise Descritiva (Medidas de Localização) 4 Mediana Seja {𝑥1, 𝑥2, … , 𝑥 𝑛} uma amostra com n observações e {𝑥(1)≤ 𝑥 2 ≤ ⋯ ≤ 𝑥 𝑛 } a amostra ordenada A mediana é o valor que se encontra “no meio” da lista ordenada, ou seja: Se n é impar a mediana é o valor central, se n é par a mediana é a média dos dois valores centrais. No R, a função que calcula a mediana é median() MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  5. 5. 2. Análise Descritiva (Medidas de Localização) 5 Quantis Na amostra ordenada {𝑥(1)≤ 𝑥 2 ≤ ⋯ ≤ 𝑥 𝑛 }, o quantil de ordem p (0<p<1) é: 𝑄 𝑝 = 𝑥 𝑛𝑝 +1 , 𝑠𝑒 𝑛𝑝 é 𝑛ã𝑜 𝑖𝑛𝑡𝑒𝑖𝑟𝑜 𝑥 𝑛𝑝 +𝑥(𝑛𝑝+1) 2 , 𝑠𝑒 𝑛𝑝 é 𝑖𝑛𝑡𝑒𝑖𝑟𝑜 onde [np] representa o maior inteiro menor ou igual a np  Os quantis de ordem 0.25 (𝑄0.25 ) e 0.75 (𝑄0.75 ) são também designados 1º e 3º quartil, respetivamente.  O quantil de ordem 0.50 (𝑄0.25) é também designado de mediana.  No R, para calcular os quantis usamos a função quantile(). MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  6. 6. 2. Análise Descritiva (Outros indicadores numéricos) 6  mean(x) calcula a média dum vetor x  quantile(x,probs=p) representa o quantil de ordem p dos elementos do vetor x, onde por defeito se p=seq(0, 1, 0.25), são apresentados os extremos e os quartis de x  max(x) apresenta o valor máximo dos elementos do vetor x  min(x) apresenta o valor mínimo dos elementos do vetor x  range(x) indica o vetor c(min(x), max(x))  IQR(x) apresenta a amplitude interquartil dos elementos do vetor x  summary(x) apresenta os extremos, os quartis e a média MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  7. 7. 2. Análise Descritiva (Medidas de Dispersão) 7  Amplitude total: A=max(x)-min(x)  Amplitude interquartil: IQR(x)=𝑄0.75 − 𝑄0.25  Variância: 𝑆2= (𝑥 𝑖−𝑥)2𝑛 𝑖=1 𝑛 ; var(x) ou  Desvio Padrão: 𝑆 = (𝑥 𝑖−𝑥)2𝑛 𝑖=1 𝑛 ; sd(x) ou MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014 sum((x-mean(x))^2)/(length(x)) Sqrt(sum((x-mean(x))^2)/(length(x)))
  8. 8. 8 Exemplo 1 Considere o seguinte conjunto de dados, referente aos pesos (em Kg), de 15 alunos de uma turma do ensino secundário: 70, 68, 83, 56, 49, 68, 73, 68, 55, 59, 48, 62, 63, 67, 75 Determinar para a amostra indicada: a) a média b) a mediana c) o 1º, 2º e 3º quartil d) o percentil 95 e) a variância f) o desvio-padrão g) a amplitude amostral e a amplitude inter-quartil. MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  9. 9. 9 R: > peso<-c(70, 68, 83, 56, 49, 68, 73, 68, 55, 59, 48, 62, 63, 67, 75) a) > mean(peso) d) > quantile(peso,0.95) [1] 64.26667 95% 77.4 b) > median(peso) e) > var(peso) [1] 67 [1] 93.6381 c) > quantile(peso,0.25) f) > sd(peso) 25% [1] 9.676678 57.5 > quantile(peso,0.50) g) > max(peso)-min(peso) 50% [1] 35 67 > quantile(peso,0.75) > quantile(peso,0.75)- 75% quantile(peso,0.25) 69 [1] 11.5 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  10. 10. 10 Exemplo 2 Obtenha a média, a mediana, a variância e o desvio padrão da variável Sepal.Length da base de dados iris existente no R. The Iris flower data set or Fisher's Iris data set MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  11. 11. 11 R: > data(iris) > dados1<-iris > attach(dados1) > mean(Sepal.Lenght) [1] 5.843333 > median(Sepal.Lenght) [1] 5.8 > var(Sepal.Lenght) [1] 0.6856935 > sd(Sepal.Lenght) [1] 0.8280661 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  12. 12. 12 Observemos um pouco mais em detalhe esta base de dados: Quais as variáveis e nomes? > names(dados1) [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species" Tratando-se de uma base com muita informação, podemos visualizar apenas uma parte, fazendo por exemplo > dados1[5:10,] # apresenta tudo entre a 5ª e a 1ª linha Sepal.Length Sepal.Width Petal.Length Petal.Width Species 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa 7 4.6 3.4 1.4 0.3 setosa 8 5.0 3.4 1.5 0.2 setosa 9 4.4 2.9 1.4 0.2 setosa 10 4.9 3.1 1.5 0.1 setosa MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  13. 13. 13 Descrição das variáveis: Sepal.Length – Comprimento da sépala Sepal.Width – Largura da sépala Petal.Length – Comprimento da pétala Petal.Width – Largura da pétala Species – Espécie observada Podemos selecionar apenas uma variável dados1$Species = dados1[,5] > dados1[,5] # apresenta a variável Species [1] setosa setosa setosa setosa setosa setosa [7] setosa setosa setosa setosa setosa setosa [13] setosa setosa setosa setosa setosa setosa [19] setosa setosa setosa setosa setosa setosa [25] setosa setosa setosa setosa setosa setosa [31] setosa setosa setosa setosa setosa setosa [37] setosa setosa setosa setosa setosa setosa [43] setosa setosa setosa setosa setosa setosa [49] setosa setosa versicolor versicolor versicolor versicolor [55] versicolor versicolor versicolor versicolor versicolor versicolor [61] versicolor versicolor versicolor versicolor versicolor versicolor [67] versicolor versicolor versicolor versicolor versicolor versicolor [73] versicolor versicolor versicolor versicolor versicolor versicolor [79] versicolor versicolor versicolor versicolor versicolor versicolor [85] versicolor versicolor versicolor versicolor versicolor versicolor [91] versicolor versicolor versicolor versicolor versicolor versicolor [97] versicolor versicolor versicolor versicolor virginica virginica [103] virginica virginica virginica virginica virginica virginica [109] virginica virginica virginica virginica virginica virginica [115] virginica virginica virginica virginica virginica virginica [121] virginica virginica virginica virginica virginica virginica [127] virginica virginica virginica virginica virginica virginica [133] virginica virginica virginica virginica virginica virginica [139] virginica virginica virginica virginica virginica virginica [145] virginica virginica virginica virginica virginica virginica Levels: setosa versicolor virginica MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  14. 14. 14 Podemos listar apenas os resultados de flores que têm, por exemplo um comprimento de pétala superior a 5.8 cm. Nesse caso, estaremos a selecionar todas as colunas da base de dados e apenas as linhas que satisfizerem essa condição. > dados1[dados$Petal.Length>5.8,] Sepal.Length Sepal.Width Petal.Length Petal.Width Species 101 6.3 3.3 6.0 2.5 virginica 103 7.1 3.0 5.9 2.1 virginica 106 7.6 3.0 6.6 2.1 virginica 108 7.3 2.9 6.3 1.8 virginica 110 7.2 3.6 6.1 2.5 virginica 118 7.7 3.8 6.7 2.2 virginica 119 7.7 2.6 6.9 2.3 virginica 123 7.7 2.8 6.7 2.0 virginica 126 7.2 3.2 6.0 1.8 virginica 131 7.4 2.8 6.1 1.9 virginica 132 7.9 3.8 6.4 2.0 virginica 136 7.7 3.0 6.1 2.3 virginica 144 6.8 3.2 5.9 2.3 virginica MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  15. 15. 15 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014 Construindo uma tabela de frequências > data(iris) >dados1<-iris > attach(dados1) > Species.tb <- table(Species) tf<-matrix(0,4,3) colnames(tf)<-c("fa","fr","fp(%)") rownames(tf)<-c("setosa", "versicolor","virginica","Total") tf[1,1]<-Species.tb["setosa"] tf[2,1]<-Species.tb["versicolor"] tf[3,1]<-Species.tb["virginica"] tf[4,1]<-length(Species) for(i in 1:4) {tf[i,2]<-round(tf[i,1]/length(Species),4)} for(i in 1:4) {tf[i,3]<-tf[i,2]*100} > tf fa fr fp(%) setosa 50 0.3333 33.33 versicolor 50 0.3333 33.33 virginica 50 0.3333 33.33 Total 150 1.0000 100.00
  16. 16. 16 > data(USArrests) > USArrests Murder Assault UrbanPop Rape Alabama 13.2 236 58 21.2 Alaska 10.0 263 48 44.5 Arizona 8.1 294 80 31.0 Arkansas 8.8 190 50 19.5 California 9.0 276 91 40.6 Colorado 7.9 204 78 38.7 Connecticut 3.3 110 77 11.1 Delaware 5.9 238 72 15.8 Florida 15.4 335 80 31.9 Georgia 17.4 211 60 25.8 Hawaii 5.3 46 83 20.2 Idaho 2.6 120 54 14.2 Illinois 10.4 249 83 24.0 Indiana 7.2 113 65 21.0 Iowa 2.2 56 57 11.3 Kansas 6.0 115 66 18.0 Kentucky 9.7 109 52 16.3 Louisiana 15.4 249 66 22.2 Maine 2.1 83 51 7.8 Maryland 11.3 300 67 27.8 Massachusetts 4.4 149 85 16.3 Michigan 12.1 255 74 35.1 Minnesota 2.7 72 66 14.9 Mississippi 16.1 259 44 17.1 Missouri 9.0 178 70 28.2 Montana 6.0 109 53 16.4 Nebraska 4.3 102 62 16.5 Nevada 12.2 252 81 46.0 New Hampshire 2.1 57 56 9.5 New Jersey 7.4 159 89 18.8 New Mexico 11.4 285 70 32.1 New York 11.1 254 86 26.1 North Carolina 13.0 337 45 16.1 North Dakota 0.8 45 44 7.3 Ohio 7.3 120 75 21.4 Oklahoma 6.6 151 68 20.0 Oregon 4.9 159 67 29.3 Pennsylvania 6.3 106 72 14.9 Rhode Island 3.4 174 87 8.3 South Carolina 14.4 279 48 22.5 South Dakota 3.8 86 45 12.8 Tennessee 13.2 188 59 26.9 Texas 12.7 201 80 25.5 Utah 3.2 120 80 22.9 Vermont 2.2 48 32 11.2 Virginia 8.5 156 63 20.7 Washington 4.0 145 73 26.2 West Virginia 5.7 81 39 9.3 Wisconsin 2.6 53 66 10.8 Wyoming 6.8 161 60 15.6 Exemplo 3 O conjunto de dados contém as estatísticas, relativas às detenções por 100.000 habitantes, por assassinato, assalto e violação em cada um dos 50 estados dos E.U.A. em 1973. É dada também a percentagem da população que vive em áreas urbanas. Determinar: a) O número médio e a variância de cada um dos crimes. b) A mediana e os quartis. c) Os valores mínimo e máximo da amostra. MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  17. 17. 17 R: a) > mean(USArrests[,1]) [1] 7.788 > mean(USArrests[,2]) [1] 170.76 > mean(USArrests[,4]) [1] 21.232 > var(USArrests[,1]) [1] 18.97047 > var(USArrests[,2]) [1] 6945.166 > var(USArrests[,4]) [1] 87.72916 USArrests[,1] = assassinato (murder) USArrests[,2] = assalto (assault) USArrests[,4] = violação (rape) MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  18. 18. 18 b) > median(USArrests[,1]) [1] 7.25 > median(USArrests[,2]) [1] 159 > median(USArrests[,4]) [1] 20.1 > quantile(USArrests[,1],0.25) 25% 4.075 > quantile(USArrests[,1],0.50) 50% 7.25 > quantile(USArrests[,1],0.75) 75% 11.25 > quantile(USArrests[,2],0.25) 25% 109 > quantile(USArrests[,2],0.50) 50% 159 > quantile(USArrests[,2],0.75) 75% 249 > quantile(USArrests[,4],0.25) 25% 15.075 > quantile(USArrests[,4],0.50) 50% 20.1 > quantile(USArrests[,4],0.75) 75% 26.175 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  19. 19. 19 c) > min(USArrests[,1]) [1] 0.8 > min(USArrests[,2]) [1] 45 > min(USArrests[,4]) [1] 7.3 > quantile(USArrests[,1],0.25) 25% 4.075 > quantile(USArrests[,1],0.50) 50% 7.25 > quantile(USArrests[,1],0.75) 75% 11.25 > max(USArrests[,1]) [1] 17.4 > max(USArrests[,2]) [1] 337 > max(USArrests[,4]) [1] 46 > quantile(USArrests[,4],0.25) 25% 15.075 > quantile(USArrests[,4],0.50) 50% 20.1 > quantile(USArrests[,4],0.75) 75% 26.175 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  20. 20. 20 Outra forma (resumida) de obter algumas das medidas anteriores: > summary(USArrests[,1]) Min. 1st Qu. Median Mean 3rd Qu. Max. 0.800 4.075 7.250 7.788 11.250 17.400 > summary(USArrests[,2]) Min. 1st Qu. Median Mean 3rd Qu. Max. 45.0 109.0 159.0 170.8 249.0 337.0 > summary(USArrests[,4]) Min. 1st Qu. Median Mean 3rd Qu. Max. 7.30 15.08 20.10 21.23 26.17 46.00 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  21. 21. 3. Gráficos 21 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  22. 22. 22 Funções no Package graphics: Help pages for package ‘graphics’ version 2.9.2 graphics-package The R Graphics Package .Pars Set or Query Graphical Parameters abline Add Straight Lines to a Plot arrows Add Arrows to a Plot asp Set up World Coordinates for Graphics Window assocplot Association Plots Axis Generic function to add an Axis to a Plot axis Add an Axis to a Plot axis.Date Date and Date-time Plotting Functions axTicks Compute Axis Tickmark Locations barplot Bar Plots box Draw a Box around a Plot boxplot Box Plots boxplot.matrix Draw a Boxplot for each Column (Row) of a Matrix bxp Draw Box Plots from Summaries cdplot Conditional Density Plots clip Set Clipping Region close.screen Creating and Controlling Multiple Screens on a Single Device co.intervals Conditioning Plots contour Display Contours coplot Conditioning Plots curve Draw Function Plots dotchart Cleveland Dot Plots erase.screen Creating and Controlling Multiple Screens on a Single Device filled.contour Level (Contour) Plots fourfoldplot Fourfold Plots frame Create / Start a New Plot Frame graphics The R Graphics Package grconvertX Convert between Graphics Coordinate Systems grconvertY Convert between Graphics Coordinate Systems grid Add Grid to a Plot hist Histograms hist.POSIXt Histogram of a Date or Date-Time Object identify Identify Points in a Scatter Plot image Display a Color Image layout Specifying Complex Plot Arrangements lcm Specifying Complex Plot Arrangements legend Add Legends to Plots lines Add Connected Line Segments to a Plot lines.formula Formula Notation for Scatterplots lines.histogram Plot Histograms locator Graphical Input matlines Plot Columns of Matrices matplot Plot Columns of Matrices matpoints Plot Columns of Matrices mosaicplot Mosaic Plots mtext Write Text into the Margins of a Plot pairs Scatterplot Matrices panel.smooth Simple Panel Plot par Set or Query Graphical Parameters pch Add Points to a Plot persp Perspective Plots pie Pie Charts plot Generic X-Y Plotting plot.data.frame Plot Method for Data Frames plot.Date Date and Date-time Plotting Functions plot.default The Default Scatterplot Function plot.design Plot Univariate Effects of a 'Design' or Model plot.factor Plotting Factor Variables plot.formula Formula Notation for Scatterplots plot.function Draw Function Plots plot.histogram Plot Histograms plot.new Create / Start a New Plot Frame plot.POSIXct Date and Date-time Plotting Functions plot.table Plot Methods for 'table' Objects plot.window Set up World Coordinates for Graphics Window plot.xy Basic Internal Plot Function points Add Points to a Plot points.formula Formula Notation for Scatterplots polygon Polygon Drawing rect Draw One or More Rectangles rug Add a Rug to a Plot screen Creating and Controlling Multiple Screens on a Single Device segments Add Line Segments to a Plot smoothScatter Scatterplots with Smoothed Densities Color Representation spineplot Spine Plots and Spinograms split.screen Creating and Controlling Multiple Screens on a Single Device stars Star (Spider/Radar) Plots and Segment Diagrams stem Stem-and-Leaf Plots strheight Plotting Dimensions of Character Strings and Math Expressions stripchart 1-D Scatter Plots strwidth Plotting Dimensions of Character Strings and Math Expressions sunflowerplot Produce a Sunflower Scatter Plot symbols Draw Symbols (Circles, Squares, Stars, Thermometers, Boxplots) on a Plot text Add Text to a Plot title Plot Annotation xinch Graphical Units xlim Set up World Coordinates for Graphics Window xspline Draw an X-spline xyinch Graphical Units yinch Graphical Units ylim Set up World Coordinates for Graphics Window MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  23. 23. 23 Funções no Package lattice: Caso univariado: barchart bar plots bwplot box and whisker plots densityplot kernel density plots dotplot dot plots histogram histograms qqmath quantile plots against mathematical distributions stripplot 1-dimensional scatterplot Caso bivariado: qq q-q plot for comparing two distributions xyplot scatter plot (and possibly a lot more) Caso tridimensional: levelplot level plots (similar to image plots in R) contourplot contour plots cloud 3-D scatter plots wireframe 3-D surfaces (similar to persp plots in R) Demonstrações e ajuda no R: funções demo() e help() >demo(graphics) >demo(lattice) >help(graphics) >help(lattice) MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  24. 24. 24 > demo(graphics) # programa de demonstração MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  25. 25. 25 Gráficos no R  Permitem analisar grandes quantidades de informação de forma simples e rápida;  Permite a geração de diversos tipos de gráficos de alta qualidade, configuráveis, desde cores, tipos de linha, legendas ou textos adicionais;  Permite a obtenção de gráficos com definições pre-definidas ou personalizados com inserção comandos para outras opções Vejamos a lista de opções possíveis opções: xlim: (inicio,fim) par que contém os limites do eixo X ylim: (inicio,fim) par que contém os limites do eixo y xlab: identificação do o eixo do X ylab: identificação do o eixo do Y main: título principal do gráfico col: cor de preenchimento do gráfico, podendo ser um vector. A lista com mais de 600 cores disponíveis pode ser obtida através do comando colors(). MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  26. 26. 26 text (permite inserção de texto, nas coordenadas definidas) sintaxe text(x,y,labels,cex,col) opções: x: posição relativa da abcissa( eixo X ) y: posição relativa da ordenada ( eixo Y ) labels: texto ou (vector de textos) a ser inserido nas coordenadas definidas por x e y cex: Proporção relativa ao tamanho dos caracteres do texto (padrão: 1) col: cor do texto a ser inserido (padrão: preto) MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  27. 27. 27 sintaxe barplot(dados,opções) opções: space: espaço deixado antes de cada barra width: vector contendo a largura relativa de cada barra em relação às restantes. Exemplo 1 >barplot(table(dados$EstCivil,col=c(“blu e”,”red”),ylim=c(0,25),space=0.5,width=c (.2,.2),main=“Número de filhos por estado civil”,xlab=“Estado Civil”,ylab=“Número de filhos”) > text(locator(n=2),c(“56%,”44%)) Gráfico de Barras Gráfico de frequências para variáveis do tipo qualitativo MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  28. 28. 28 >require(grDevices) # para cores >tN <- table(Ni <- stats::rpois(1000, lambda=4)) >barplot(tN, col=rainbow(20)) 0 1 2 3 4 5 6 7 8 9 10 11 12 050100150 Gráfico de Barras MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  29. 29. 29 > barplot(height = cbind(Jovem = c(465, 91) / 465 * 100, Adulto = c(840, 200) / 840 * 100, Idoso = c(37, 17) / 37 * 100), beside = FALSE, width = c(465, 840, 37), col = c(1, 2), legend.text = c("Antes tratamento", "Após tratamento"), args.legend = list(x = "topleft")) Gráfico de Barras (multidimensional) Jovem Adulto Idoso Após tratamento Antes tratamento 020406080100120140 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  30. 30. 30 sintaxe pie(dados,opções) opções: labels: vector contendo os rótulos de cada fatia. radius: raio da circunferência do gráfico. (medida padrão é 1) col: vector contendo as cores das secções Exemplo > pie(taxa.inflac,main='Inflação na UE') Gráfico circular MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  31. 31. 31 Exemplo > stem(USArrests[,1]) The decimal point is at the | 0 | 8 2 | 11226672348 4 | 0349379 6 | 003682349 8 | 158007 10 | 04134 12 | 127022 14 | 444 16 | 14 Diagrama de caule e folhas sintaxe stem(dados) MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  32. 32. 32 Boxplot (Diagrama de extremos e quartis) sintaxe boxplot(dados, opções) opções: outline: T plota os outliers F não plota os outliers Exemplo >boxplot(USArrests[,1],USArrests[,4 ],main="Criminalidade U.S.A. (1973)",col="3",xlab="Assassinatos Violação",ylab="nº de crimes") MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  33. 33. 33 Histograma sintaxe hist(dados, opções) opções: prob: T plota a densidade F plota a frequência absoluta breaks:vector que define as larguras das barras do histograma Exemplo >hist(USArrests[,1],xlab="Assassina tos",ylab="nºdeocorrências",col="5" ,main="Histograma") MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  34. 34. 34 > hist(Petal.Lenght, breaks = "Sturges", main ="Histograma", xlab = "Comprimentos das Pétalas (cm)", ylab="Frequência", axes = TRUE, plot = TRUE, ylim=c(0,40), col=c(1,2,3,4,5,6,7,8,9,10,11,12)) Histograma Comprimentos das Pétalas (cm) Frequência 0.0 0.5 1.0 1.5 2.0 2.5 010203040 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  35. 35. 35 > dados<-read.table("C:dados.txt",header=T) > dados Func EstCivil Instr NFilhos Salario Ano Mes Regiao 1 1 solteiro 1Grau - 4.00 26 3 interior 2 2 casado 1Grau 1 4.56 32 10 capital 3 3 casado 1Grau 2 5.25 36 5 capital 4 4 solteiro 2Grau - 5.73 20 10 outro 5 5 solteiro 1Grau - 6.26 40 7 outro 6 6 casado 1Grau 0 6.66 28 0 interior 7 7 solteiro 1Grau - 6.86 41 0 interior 8 8 solteiro 1Grau - 7.39 43 4 capital 9 9 casado 2Grau 1 7.59 34 10 capital 10 10 solteiro 2Grau - 7.44 23 6 outro 11 11 casado 2Grau 2 8.12 33 6 interior 12 12 solteiro 1Grau - 8.46 27 11 capital 13 13 solteiro 2Grau - 8.74 37 5 outro 14 14 casado 1Grau 3 8.95 44 2 outro 15 15 casado 2Grau 0 9.13 30 5 interior 16 16 solteiro 2Grau - 9.35 38 8 outro 17 17 casado 2Grau 1 9.77 31 7 capital 18 18 casado 1Grau 2 9.80 39 7 outro 19 19 solteiro Superior - 10.53 25 8 interior 20 20 solteiro 2Grau - 10.76 37 4 interior 21 21 casado 2Grau 1 11.06 30 9 outro 22 22 solteiro 2Grau - 11.59 34 2 capital 23 23 solteiro 1Grau - 12.00 41 0 outro 24 24 casado Superior 0 12.79 26 1 outro 25 25 casado 2Grau 2 13.23 32 5 interior 26 26 casado 2Grau 2 13.60 35 0 outro 27 27 solteiro 1Grau - 13.85 46 7 outro 28 28 casado 2Grau 0 14.69 29 8 interior 29 29 casado 2Grau 5 14.71 40 6 interior 30 30 casado 2Grau 2 15.99 35 10 capital 31 31 solteiro Superior - 16.22 31 5 outro 32 32 casado 2Grau 1 16.61 36 4 interior 33 33 casado Superior 3 17.26 43 7 capital 34 34 solteiro Superior - 18.75 33 7 capital 35 35 casado 2Grau 2 19.40 48 11 capital 36 36 casado Superior 3 23.30 42 2 interior (Dados extraídos do livro Estatística Básica de W. Bussab e P. Morettin) Exercício 1 Considere a variável quantitativa nominal EstCivil da tabela anexa e responda às seguintes questões: a) Obtenha as frequências absolutas e frequências relativas dessa variável. Sugestão: usar as funções table() e prop.table(). b) Obtenha a moda da variável EstCivil. c) Represente a variável EstCivil num gráfico circular. Exercício 2 Considere a variável quantitativa ordinal Instr da tabela e obtenha: a) Obtenha as frequências absolutas e frequências relativas dessa variável. b) Represente a variável num gráfico de barras. c) Represente a variável num gráfico circular.MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  36. 36. MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014 36 Exercício 1 (Resolução) a) > attach(dados) > EstCivil.tb <- table(EstCivil) > EstCivil.tb EstCivil solteiro casado 16 20 > prop.table(EstCivil.tb) EstCivil solteiro casado 0.4444444 0.5555556 b) c) > EstCivil.mo <- names(EstCivil.tb)[which.max(EstCivil .tb)] > EstCivil.mo [1] "casado" > pie(EstCivil.tb,main="Estado Civil")
  37. 37. 37 Exercício 2 (resolução) a) > instrucao.tb <- table(Instr) > instrucao.tb Instr 1Grau 2Grau Superior 12 18 6 > prop.table(instrucao.tb) Instr 1Grau 2Grau Superior 0.3333333 0.5000000 0.1666667 b) >barplot(instrucao.tb,col=c(1,2,3),main ="Nível de Instrução") c) > pie(instrucao.tb,main="Nível de Instrução") MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  38. 38. 38 (Dados extraídos do livro Estatística Básica de W. Bussab e P. Morettin) > dadosC<-read.table("C:dadosC.txt",header=T) > dadosC Func EstCivil Instr NFilhos Salario Ano Mes Regiao 1 1 1 1 NA 4.00 26 3 1 2 2 2 1 1 4.56 32 10 2 3 3 2 1 2 5.25 36 5 2 4 4 1 2 NA 5.73 20 10 3 5 5 1 1 NA 6.26 40 7 3 6 6 2 1 0 6.66 28 0 1 7 7 1 1 NA 6.86 41 0 1 8 8 1 1 NA 7.39 43 4 2 9 9 2 2 1 7.59 34 10 2 10 10 1 2 NA 7.44 23 6 3 11 11 2 2 2 8.12 33 6 1 12 12 1 1 NA 8.46 27 11 2 13 13 1 2 NA 8.74 37 5 3 14 14 2 1 3 8.95 44 2 3 15 15 2 2 0 9.13 30 5 1 16 16 1 2 NA 9.35 38 8 3 17 17 2 2 1 9.77 31 7 2 18 18 2 1 2 9.80 39 7 3 19 19 1 3 NA 10.53 25 8 1 20 20 1 2 NA 10.76 37 4 1 21 21 2 2 1 11.06 30 9 3 22 22 1 2 NA 11.59 34 2 2 23 23 1 1 NA 12.00 41 0 3 24 24 2 3 0 12.79 26 1 3 25 25 2 2 2 13.23 32 5 1 26 26 2 2 2 13.60 35 0 3 27 27 1 1 NA 13.85 46 7 3 28 28 2 2 0 14.69 29 8 1 29 29 2 2 5 14.71 40 6 1 30 30 2 2 2 15.99 35 10 2 31 31 1 3 NA 16.22 31 5 3 32 32 2 2 1 16.61 36 4 1 33 33 2 3 3 17.26 43 7 2 34 34 1 3 NA 18.75 33 7 2 35 35 2 2 2 19.40 48 11 2 36 36 2 3 3 23.30 42 2 1 (Dados usando codificação de variáveis) MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  39. 39. 39 Exercício 3 Considere a variável quantitativa discreta NFilhos da tabela e obtenha: a) Obtenha as frequências absolutas e frequências relativas da variável Nfilhos. b) Represente a variável NFilhos num gráfico de barras. > plot(NFilhos.tb,main="Gráfico de barras / Frequências absolutas") > attach(dadosC) > NFilhos.tb<-table(NFilhos) > NFilhos.tb NFilhos 0 1 2 3 5 4 5 7 3 1 > NFilhos.tbr <- prop.table(NFilhos.tb) > NFilhos.tbr NFilhos 0 1 2 3 5 0.20 0.25 0.35 0.15 0.05 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  40. 40. 40 Exercício 3 (cont.) c) Obtenha os gráficos de frequências relativas simples e de frequências relativas acumuladas da variável Nfilhos. > plot(NFilhos.tbr) > NFilhos.fac <- cumsum(NFilhos.tbr) > NFilhos.fac 0 1 2 3 5 0.20 0.45 0.80 0.95 1.00 > plot(NFilhos.fac,type="S",col="6") MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  41. 41. 41 Exercício 4 Considere a variável quantitativa contínua Salario da tabela e obtenha: a) Obtenha os valores desta variável. b) Obter as frequências absolutas e as frequências relativas para os dados da variável Salario, usando a regra de Sturges na construção das classes. > range(Salario) # valores máximo e mínimo da amostra [1] 4.0 23.3 > nclass.Sturges(Salario) # número de classes [1] 7 > Salario.tb <- table(cut(Salario, seq(3.5, 23.5, l = 8))) #para agrupar os dados em classes > Salario.tb # Frequências absolutas (3.5,6.36] (6.36,9.21] (9.21,12.1] (12.1,14.9] (14.9,17.8] (17.8,20.6] 5 10 8 6 4 2 (20.6,23.5] 1 > Salario [1] 4.00 4.56 5.25 5.73 6.26 6.66 6.86 7.39 7.59 7.44 8.12 8.46 [13] 8.74 8.95 9.13 9.35 9.77 9.80 10.53 10.76 11.06 11.59 12.00 12.79 [25] 13.23 13.60 13.85 14.69 14.71 15.99 16.22 16.61 17.26 18.75 19.40 23.30 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  42. 42. 42 Exercício 4 (cont.) > prop.table(Salario.tb) # Frequências relativas (3.5,6.83] (6.83,10.2] (10.2,13.5] (13.5,16.8] (16.8,20.2] (20.2,23.5] 0.16666667 0.33333333 0.19444444 0.19444444 0.08333333 0.02777778 c) Obtenha representações gráficas adequadas para os dados. > hist(Salario,col=c(8,7,3,6,5,2,4,0,10,1)) # Histograma > boxplot(Salario,col=5,main="Boxplot") # Caixa de Bigodes MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  43. 43. 43 Exercício 4 (cont.) > stem(Salario) # diagrama de caule e folhas The decimal point is at the | 4 | 0637 6 | 379446 8 | 15791388 10 | 5816 12 | 08268 14 | 77 16 | 0263 18 | 84 20 | 22 | 3 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  44. 44. 44 outro exemplo: > hist(rnorm(10000),nclass=101,col=c("blue","orange"), xlab="standard normal deviates") # rnorm(10000) produces a vector Histogram of rnorm(10000) standard normal deviates Frequency -3 -2 -1 0 1 2 3 4 050100150200 MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014

×