44
Minicurso I Análise Exploratória e Modelação com R 2. Análise Exploratória de Dados Amílcar Oliveira ; Teresa Oliveira [email protected] [email protected] DCeT, Universidade Aberta & CEAUL, Universidade de Lisboa Manaus, 12 a 15 de agosto, 2014

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

Embed Size (px)

Citation preview

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

Minicurso I

Análise Exploratória e Modelação com R 2. Análise Exploratória de Dados

Amílcar Oliveira ; Teresa Oliveira

[email protected] [email protected]

DCeT, Universidade Aberta & CEAUL, Universidade de Lisboa

Manaus, 12 a 15 de agosto, 2014

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

Tópicos

1. Introdução

2. Análise Descritiva (caso univariado)

3. Gráficos

2 MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

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

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

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

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

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

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

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

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

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)))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. Gráficos

21 MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

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

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

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

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

24

> demo(graphics) # programa de demonstração

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

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

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

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

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

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

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

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

05

01

00

15

0

Gráfico de Barras

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

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

02

04

06

08

01

00

12

01

40

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

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

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

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

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

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

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

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

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

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)

Fre

qu

ên

cia

0.0 0.5 1.0 1.5 2.0 2.5

01

02

03

04

0

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

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

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

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")

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Fre

qu

en

cy

-3 -2 -1 0 1 2 3 4

05

01

00

15

02

00

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014