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
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. 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. 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. 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
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
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
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
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
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
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
> demo(graphics) # programa de demonstração
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
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
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
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
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
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
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
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