SlideShare uma empresa Scribd logo
1 de 33
+
Bioestatística - Universidade Católica de Brasília
Gráficos exploratórios e clusters
Prof. Dr. Gabriel da Rocha Fernandes
Universidade Católica de Brasília
gabrielf@ucb.br - fernandes.gabriel@gmail.com
+
Por que usar gráficos?
2
nPara entenders as propriedades dos seus dados.
nPara identificar padrões nos seus dados.
nPara sugerir modelos.
nPara encontrar os erros nas suas análises.
nPara divulgar seus resultados.
nGráficos exploratórios servem para isso tudo, menos para
divulgar seus resultados.
+
Características de gráficos
exploratórios
nSão feitos rapidamente.
nSão feitos em grande número.
nO objetivo é que você entenda.
nSem preocupação com eixos, títulos e legendas.
nUtiliza muito a informação de cor e tamanho para guardar
informação.
3
+
Como representar meus dados?
4
+
E faz diferença?
5
+
Testando - Boxplot
npData = read.csv('/var/www/learning/pdf/ss06pid.csv')
nBoxblot dá uma ideia de como a distribuição é.
nMostra simetria, amplitude.
nBásico:
n boxplot(pData$AGEP,col="blue")
nComparando na mesma escala:
n boxplot(pData$AGEP ~ as.factor(pData$DDRS),col="blue")
nObservando o tamanho da amostra:
n boxplot(pData$AGEP ~ as.factor(pData
$DDRS),col=c("blue","orange"),names=c("yes","no"),varwidth=TRUE)
6
+
Testando - Barplot, Histograma e
Density plot
nBarplot:
n barplot(table(pData$CIT),col="blue")
nHistograma:
n hist(pData$AGEP,col="blue")
nHistograma com mais barras (mais resolução):
n hist(pData$AGEP,col="blue",breaks=100,main="Age")
nGráfico de densidade:
n dens <- density(pData$AGEP); plot(dens,lwd=3,col="blue")
nComparando dois gráficos de densidade:
n dens <- density(pData$AGEP); densMales <- density(pData
$AGEP[which(pData$SEX==1)]); plot(dens,lwd=3,col="blue");
lines(densMales,lwd=3,col="orange")
7
+
Scatterplot
nGráfico de pontos.
nExemplo:Tempo Trabalhando X Remuneração
n plot(pData$JWMNP,pData$WAGP,pch=19,col="blue")
nAlterando o tamanho do ponto (cex):
n plot(pData$JWMNP,pData$WAGP,pch=19,col="blue",cex=0.5)
nColorindo por um determinado fator:
n plot(pData$JWMNP,pData$WAGP,pch=19,col=pData$SEX,cex=0.5)
nAdicionando uma terceira dimensão:
n percentMaxAge <- pData$AGEP/max(pData$AGEP); plot(pData
$JWMNP,pData$WAGP,pch=19,col="blue",cex=percentMaxAge*0.5)
8
+
Scatterplot
nAdicionando pontos e linhas:
n plot(pData$JWMNP,pData$WAGP,pch=19,col="blue",cex=0.5);
lines(rep(100,dim(pData)[1]),pData$WAGP,col="grey",lwd=5);
points(seq(0,200,length=100),seq(0,20e5,length=100),col="red",pch=1
9)
nTerceira dimensão em cores:
n library(Hmisc); ageGroups <- cut2(pData$AGEP,g=5); plot(pData
$JWMNP,pData WAGP,pch=19,col=ageGroups,cex=0.5)
9
+
E se eu tiver muitos pontos?
nGerando os dados:
n x <- rnorm(1e5); y <- rnorm(1e5); plot(x,y,pch=19)
nSubamostragem:
n sampledValues <- sample(1:1e5,size=1000,replace=FALSE);
plot(x[sampledValues],y[sampledValues],pch=19)
nSmoothScatter:
n smoothScatter(x,y)
nHexbin:
n library(hexbin); hbo <- hexbin(x,y); plot(hbo)
10
+
QQ-Plot
nPlota o valor de um determinado quantil da variável X contra o
mesmo quantil da variávelY.
nIdeal para ver se sua amostra responde a uma distribuição
normal.
n x <- rnorm(100); y <- rnorm(100); qqplot(x,y); abline(c(0,1))
11
+
Matplot e Heatmap
nMatPlot: Plota cada coluna de uma matriz.
nIdeal para estudos ao longo do tempo, análise longitudinal.
n X <- matrix(rnorm(20*5),nrow=20); matplot(X,type="b")
nHeatMap: Quase um histograma de duas dimensões.
nHeatmap das 10 primeiras observações, utilizando as variáveis
161 a 236:
n image(1:10,161:236,as.matrix(pData[1:10,161:236]))
nTrocando linhas por colunas:
n newMatrix <- as.matrix(pData[1:10,161:236]); newMatrix <-
t(newMatrix)[,nrow(newMatrix):1]; image(161:236, 1:10, newMatrix)
12
+
Gráficos expositórios
nComunicar seus resultados: artigos, teses...
nInformações densas. Para explicar o que é difícil explicar com
texto.
nUsar cores e tamanho como ferramentas estéticas e para
facilitar o entendimento.
nEixos, títulos e legendas fáceis de entender.
13
+
Eixos
nIncluir uma descrição clara citando a unidade de medida
utilizada.
nNomear os eixos:
n plot(pData$JWMNP,pData$WAGP,pch=19,col="blue",cex=0.5,
xlab="Travel time (min)",ylab="Last 12 month wages (dollars)")
nMudar o tamanho do título dos eixos:
n plot(pData$JWMNP,pData$WAGP,pch=19,col="blue",cex=0.5,
xlab="Travel time (min)",ylab="Last 12 month wages
(dollars)",cex.lab=2,cex.axis=1.5)
14
+
Legenda
nAdicionar legenda:
n plot(pData$JWMNP,pData$WAGP,pch=19,col="blue",cex=0.5,xlab="TT
(min)",ylab="Wages (dollars)"); legend(100,200000,legend="All
surveyed",col="blue",pch=19,cex=0.5)
nDois pontos na legenda:
n plot(pData$JWMNP,pData$WAGP,pch=19,cex=0.5,xlab="TT
(min)",ylab="Wages (dollars)",col=pData$SEX);
legend(100,200000,legend=c("men","women"),col=c("black","red"),pc
h=c(19,19),cex=c(0.5,0.5))
15
+
Titulos e panels
nAdicionar título:
n plot(pData$JWMNP,pData$WAGP,pch=19,cex=0.5,xlab="CT (min)",
ylab="Wages (dollars)",col=pData$SEX,main="Wages earned versus
commute time");
legend(100,200000,legend=c("men","women"),col=c("black","red"),pc
h=c(19,19),cex=c(0.5,0.5))
nMultiple panels:
n par(mfrow=c(1,2));
hist(pData$JWMNP,xlab="CT (min)",col="blue",breaks=100,main="");
mtext(text="(a)",side=3,line=1); plot(pData$JWMNP,pData
$WAGP,pch=19,cex=0.5,xlab="CT (min)",ylab="Wages
(dollars)",col=pData$SEX);
legend(100,200000,legend=c("men","women"),col=c("black","red"),pc
h=c(19,19),cex=c(0.5,0.5)); mtext(text="(b)",side=3,line=1)
16
+
Clusters
nOrganizar pontos que estão próximos em grupos.
nComo definimos o que está perto?
nComo agrupamos?
nComo visualizar os grupos?
nComo interpretar os grupos?
17
+
Cluster hierárquico
nCritério aglomerativo.
n Pega os dois pontos mais relacionados.
n Agrupa.
n Encontra o próximo ponto mais perto.
nRequer
n Uma distância definida.
n Critério para agrupamento.
nProduz
n Uma árvore mostrando quão perto seus pontos estão uns dos outros.
18
+
Definindo a distância
nSeus dados podem ser utilizados para medir distância?
nDistância ou similaridade?
nSe seus dados são um contínuo:
n Distância euclidiana
n Correlação (similaridade)
nSe seus dados são binários:
n Distância de Manhattan
nUtilize uma métrica que faz sentido para sua análise.
19
+
Distância euclidiana
20
x1, y1
x2, y2
y1 - y2y1 - y2
x1 - x2
+
Manhattan
21
+
Cluster hierárquico
nGerando os dados:
n set.seed(1234); par(mar=c(0,0,0,0)); x <-
rnorm(12,mean=rep(1:3,each=4),sd=0.2); y <-
rnorm(12,mean=rep(c(1,2,1),each=4),sd=0.2);
plot(x,y,col="blue",pch=19,cex=2); text(x+0.05,y
+0.05,labels=as.character(1:12))
nCalculando as distâncias:
n dataFrame <- data.frame(x=x,y=y)
n dist(dataFrame)
22
+
Passo 1
23
+
Passo 2
24
+
Passo 3
25
+
R, faz pra mim
nFunção hclust:
n distxy <- dist(dataFrame); hClustering <- hclust(distxy);
plot(hClustering)
nOnde cortar para definir seus clusters?
nArbitrário?
26
+
K-means
nCritério de particionamento:
n Numero de clusters fixo.
n Encontra o centróide para cada cluster.
n Associa os pontos mais próximos ao centróide.
n Recalcula os centróides.
nRequer:
n Distância métrica definida.
n Numero de clusters definido.
nProduz:
n Pontos centróides para cada cluster.
n Associa cada ponto a um cluster.
27
+
Centroides iniciais
28
+
Associar pontos ao centróide mais
próximo
29
+
Recalcular os centróides
30
+
Reassociar os pontos aos centróides
31
+
Atualizando os centróides de novo
32
+
Faz aí
nKmeans:
n kmeansObj <- kmeans(dataFrame,centers=3); names(kmeansObj);
n kmeansObj$cluster
nVisualizando:
n plot(x,y,col=kmeansObj$cluster,pch=19,cex=2); points(kmeansObj
$centers,col=1:3,pch=3,cex=3,lwd=3)
33

Mais conteúdo relacionado

Mais procurados

Automação de BackOffice de uma grande corporação financeira usando Visão Comp...
Automação de BackOffice de uma grande corporação financeira usando Visão Comp...Automação de BackOffice de uma grande corporação financeira usando Visão Comp...
Automação de BackOffice de uma grande corporação financeira usando Visão Comp...FranciscoBrunodeSous
 
Adepe 2016-matriz-mt-8 ef-c01
Adepe 2016-matriz-mt-8 ef-c01Adepe 2016-matriz-mt-8 ef-c01
Adepe 2016-matriz-mt-8 ef-c01Ednalva Coelho
 
Cálculo II: Aula 9 - Integrais que resultam em funções trigonométricas inversas
Cálculo II: Aula 9 - Integrais que resultam em funções trigonométricas inversasCálculo II: Aula 9 - Integrais que resultam em funções trigonométricas inversas
Cálculo II: Aula 9 - Integrais que resultam em funções trigonométricas inversaswillianv
 
Matemática no winplot - sandra de souza
Matemática no winplot  - sandra de souzaMatemática no winplot  - sandra de souza
Matemática no winplot - sandra de souzaSandraGorito
 
Mapa mental todas as materias
Mapa mental todas as materiasMapa mental todas as materias
Mapa mental todas as materiasCleuvânia Dias
 
Derivadas Aplicações
Derivadas AplicaçõesDerivadas Aplicações
Derivadas AplicaçõesJones Fagundes
 
Caderno - Matemática III
Caderno - Matemática IIICaderno - Matemática III
Caderno - Matemática IIICadernos PPT
 

Mais procurados (20)

Automação de BackOffice de uma grande corporação financeira usando Visão Comp...
Automação de BackOffice de uma grande corporação financeira usando Visão Comp...Automação de BackOffice de uma grande corporação financeira usando Visão Comp...
Automação de BackOffice de uma grande corporação financeira usando Visão Comp...
 
Matemática básica derivada e integral
Matemática básica   derivada e integralMatemática básica   derivada e integral
Matemática básica derivada e integral
 
Projeto Final Meireluce
Projeto Final MeireluceProjeto Final Meireluce
Projeto Final Meireluce
 
Adepe 2016-matriz-mt-8 ef-c01
Adepe 2016-matriz-mt-8 ef-c01Adepe 2016-matriz-mt-8 ef-c01
Adepe 2016-matriz-mt-8 ef-c01
 
Cálculo II: Aula 9 - Integrais que resultam em funções trigonométricas inversas
Cálculo II: Aula 9 - Integrais que resultam em funções trigonométricas inversasCálculo II: Aula 9 - Integrais que resultam em funções trigonométricas inversas
Cálculo II: Aula 9 - Integrais que resultam em funções trigonométricas inversas
 
Pra que serve o algeplan
Pra que serve o algeplanPra que serve o algeplan
Pra que serve o algeplan
 
08 derivadas
08 derivadas08 derivadas
08 derivadas
 
Exercicios derivada lista3
Exercicios derivada lista3Exercicios derivada lista3
Exercicios derivada lista3
 
Aula 07 derivadas - regras de derivação - parte 1
Aula 07   derivadas - regras de derivação - parte 1Aula 07   derivadas - regras de derivação - parte 1
Aula 07 derivadas - regras de derivação - parte 1
 
Matemática no winplot - sandra de souza
Matemática no winplot  - sandra de souzaMatemática no winplot  - sandra de souza
Matemática no winplot - sandra de souza
 
Apostila de calculo i
Apostila de calculo iApostila de calculo i
Apostila de calculo i
 
Professor Thiago Dal Bello
Professor Thiago Dal BelloProfessor Thiago Dal Bello
Professor Thiago Dal Bello
 
Mapa mental todas as materias
Mapa mental todas as materiasMapa mental todas as materias
Mapa mental todas as materias
 
Algeplan21
Algeplan21Algeplan21
Algeplan21
 
Mat funcoes
Mat funcoesMat funcoes
Mat funcoes
 
Fatoracao
FatoracaoFatoracao
Fatoracao
 
P3 calculo i_ (2)
P3 calculo i_ (2)P3 calculo i_ (2)
P3 calculo i_ (2)
 
Matematica
MatematicaMatematica
Matematica
 
Derivadas Aplicações
Derivadas AplicaçõesDerivadas Aplicações
Derivadas Aplicações
 
Caderno - Matemática III
Caderno - Matemática IIICaderno - Matemática III
Caderno - Matemática III
 

Destaque (20)

Rellotges de pulsera
Rellotges de pulseraRellotges de pulsera
Rellotges de pulsera
 
Glosario de terminos
Glosario de terminosGlosario de terminos
Glosario de terminos
 
Resolução cee-cp-n.-5-de-10-de-junho-de-2011-rev-13-07
Resolução cee-cp-n.-5-de-10-de-junho-de-2011-rev-13-07Resolução cee-cp-n.-5-de-10-de-junho-de-2011-rev-13-07
Resolução cee-cp-n.-5-de-10-de-junho-de-2011-rev-13-07
 
Nuevas diapositivas 250 leila schabas
Nuevas diapositivas 250 leila schabasNuevas diapositivas 250 leila schabas
Nuevas diapositivas 250 leila schabas
 
Pacerizu publicaciones enlace químico
Pacerizu publicaciones enlace químicoPacerizu publicaciones enlace químico
Pacerizu publicaciones enlace químico
 
Redes guadalupe perez
Redes guadalupe perezRedes guadalupe perez
Redes guadalupe perez
 
Pacerizu publicaciones-los gases
Pacerizu publicaciones-los gasesPacerizu publicaciones-los gases
Pacerizu publicaciones-los gases
 
Evolución de las computadoras
Evolución de las computadorasEvolución de las computadoras
Evolución de las computadoras
 
Blog en word
Blog en wordBlog en word
Blog en word
 
Material didáctico
Material didácticoMaterial didáctico
Material didáctico
 
Lixo
LixoLixo
Lixo
 
MPC 8 Soluciones De Seguridad
MPC 8 Soluciones De SeguridadMPC 8 Soluciones De Seguridad
MPC 8 Soluciones De Seguridad
 
Pacerizu artículos-particulas atómicas
Pacerizu artículos-particulas atómicasPacerizu artículos-particulas atómicas
Pacerizu artículos-particulas atómicas
 
Tarea aluminio
Tarea aluminioTarea aluminio
Tarea aluminio
 
Los sustantivos
Los sustantivosLos sustantivos
Los sustantivos
 
Los sustantivos
Los sustantivosLos sustantivos
Los sustantivos
 
Busquedas avanzadas en internet
Busquedas avanzadas en internetBusquedas avanzadas en internet
Busquedas avanzadas en internet
 
Esquila vf copia
Esquila vf   copiaEsquila vf   copia
Esquila vf copia
 
Act19 mgcm
Act19 mgcmAct19 mgcm
Act19 mgcm
 
Diodos limitadores
Diodos limitadoresDiodos limitadores
Diodos limitadores
 

Semelhante a Estatística - Aula 2

Análise multivariada aplicada à pesquisa
Análise multivariada aplicada à pesquisaAnálise multivariada aplicada à pesquisa
Análise multivariada aplicada à pesquisaCarlos Moura
 
Qq plot
Qq plotQq plot
Qq plotweneca
 
Estatistica regular 9
Estatistica regular 9Estatistica regular 9
Estatistica regular 9J M
 
Data Mining - Clustering
Data Mining - ClusteringData Mining - Clustering
Data Mining - Clusteringiaudesc
 
Minicurso de estatística experimental com o R - III SIC IFNMG
Minicurso de estatística experimental com o R  - III SIC IFNMGMinicurso de estatística experimental com o R  - III SIC IFNMG
Minicurso de estatística experimental com o R - III SIC IFNMGPetronio Candido
 
Prof.Dr.Nilo antonio de Souza Sampaio
Prof.Dr.Nilo antonio de Souza SampaioProf.Dr.Nilo antonio de Souza Sampaio
Prof.Dr.Nilo antonio de Souza SampaioNilo Sampaio
 
Introdução a Ciência de Dados
Introdução a Ciência de DadosIntrodução a Ciência de Dados
Introdução a Ciência de DadosNauber Gois
 
Estatística completa
Estatística completaEstatística completa
Estatística completaRonne Seles
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em Crodolfoeyalana
 
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive BayesAhirton Lopes
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automáticabutest
 

Semelhante a Estatística - Aula 2 (20)

Análise multivariada aplicada à pesquisa
Análise multivariada aplicada à pesquisaAnálise multivariada aplicada à pesquisa
Análise multivariada aplicada à pesquisa
 
Estatística - Aula 1
Estatística - Aula 1Estatística - Aula 1
Estatística - Aula 1
 
Qq plot
Qq plotQq plot
Qq plot
 
Estatistica regular 9
Estatistica regular 9Estatistica regular 9
Estatistica regular 9
 
comparaciones
comparacionescomparaciones
comparaciones
 
18comparaciones
18comparaciones18comparaciones
18comparaciones
 
kNN Algorithm
kNN AlgorithmkNN Algorithm
kNN Algorithm
 
Data Mining - Clustering
Data Mining - ClusteringData Mining - Clustering
Data Mining - Clustering
 
Minicurso de estatística experimental com o R - III SIC IFNMG
Minicurso de estatística experimental com o R  - III SIC IFNMGMinicurso de estatística experimental com o R  - III SIC IFNMG
Minicurso de estatística experimental com o R - III SIC IFNMG
 
Atps estatistica
Atps estatisticaAtps estatistica
Atps estatistica
 
topico 2_Medidas descritivas.pdf
topico 2_Medidas descritivas.pdftopico 2_Medidas descritivas.pdf
topico 2_Medidas descritivas.pdf
 
Prof.Dr.Nilo antonio de Souza Sampaio
Prof.Dr.Nilo antonio de Souza SampaioProf.Dr.Nilo antonio de Souza Sampaio
Prof.Dr.Nilo antonio de Souza Sampaio
 
Classificação de Documentos
Classificação de DocumentosClassificação de Documentos
Classificação de Documentos
 
Data science
Data scienceData science
Data science
 
Introdução a Ciência de Dados
Introdução a Ciência de DadosIntrodução a Ciência de Dados
Introdução a Ciência de Dados
 
Estatística completa
Estatística completaEstatística completa
Estatística completa
 
Pesquisa sequencial
Pesquisa sequencialPesquisa sequencial
Pesquisa sequencial
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em C
 
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 

Estatística - Aula 2

  • 1. + Bioestatística - Universidade Católica de Brasília Gráficos exploratórios e clusters Prof. Dr. Gabriel da Rocha Fernandes Universidade Católica de Brasília gabrielf@ucb.br - fernandes.gabriel@gmail.com
  • 2. + Por que usar gráficos? 2 nPara entenders as propriedades dos seus dados. nPara identificar padrões nos seus dados. nPara sugerir modelos. nPara encontrar os erros nas suas análises. nPara divulgar seus resultados. nGráficos exploratórios servem para isso tudo, menos para divulgar seus resultados.
  • 3. + Características de gráficos exploratórios nSão feitos rapidamente. nSão feitos em grande número. nO objetivo é que você entenda. nSem preocupação com eixos, títulos e legendas. nUtiliza muito a informação de cor e tamanho para guardar informação. 3
  • 6. + Testando - Boxplot npData = read.csv('/var/www/learning/pdf/ss06pid.csv') nBoxblot dá uma ideia de como a distribuição é. nMostra simetria, amplitude. nBásico: n boxplot(pData$AGEP,col="blue") nComparando na mesma escala: n boxplot(pData$AGEP ~ as.factor(pData$DDRS),col="blue") nObservando o tamanho da amostra: n boxplot(pData$AGEP ~ as.factor(pData $DDRS),col=c("blue","orange"),names=c("yes","no"),varwidth=TRUE) 6
  • 7. + Testando - Barplot, Histograma e Density plot nBarplot: n barplot(table(pData$CIT),col="blue") nHistograma: n hist(pData$AGEP,col="blue") nHistograma com mais barras (mais resolução): n hist(pData$AGEP,col="blue",breaks=100,main="Age") nGráfico de densidade: n dens <- density(pData$AGEP); plot(dens,lwd=3,col="blue") nComparando dois gráficos de densidade: n dens <- density(pData$AGEP); densMales <- density(pData $AGEP[which(pData$SEX==1)]); plot(dens,lwd=3,col="blue"); lines(densMales,lwd=3,col="orange") 7
  • 8. + Scatterplot nGráfico de pontos. nExemplo:Tempo Trabalhando X Remuneração n plot(pData$JWMNP,pData$WAGP,pch=19,col="blue") nAlterando o tamanho do ponto (cex): n plot(pData$JWMNP,pData$WAGP,pch=19,col="blue",cex=0.5) nColorindo por um determinado fator: n plot(pData$JWMNP,pData$WAGP,pch=19,col=pData$SEX,cex=0.5) nAdicionando uma terceira dimensão: n percentMaxAge <- pData$AGEP/max(pData$AGEP); plot(pData $JWMNP,pData$WAGP,pch=19,col="blue",cex=percentMaxAge*0.5) 8
  • 9. + Scatterplot nAdicionando pontos e linhas: n plot(pData$JWMNP,pData$WAGP,pch=19,col="blue",cex=0.5); lines(rep(100,dim(pData)[1]),pData$WAGP,col="grey",lwd=5); points(seq(0,200,length=100),seq(0,20e5,length=100),col="red",pch=1 9) nTerceira dimensão em cores: n library(Hmisc); ageGroups <- cut2(pData$AGEP,g=5); plot(pData $JWMNP,pData WAGP,pch=19,col=ageGroups,cex=0.5) 9
  • 10. + E se eu tiver muitos pontos? nGerando os dados: n x <- rnorm(1e5); y <- rnorm(1e5); plot(x,y,pch=19) nSubamostragem: n sampledValues <- sample(1:1e5,size=1000,replace=FALSE); plot(x[sampledValues],y[sampledValues],pch=19) nSmoothScatter: n smoothScatter(x,y) nHexbin: n library(hexbin); hbo <- hexbin(x,y); plot(hbo) 10
  • 11. + QQ-Plot nPlota o valor de um determinado quantil da variável X contra o mesmo quantil da variávelY. nIdeal para ver se sua amostra responde a uma distribuição normal. n x <- rnorm(100); y <- rnorm(100); qqplot(x,y); abline(c(0,1)) 11
  • 12. + Matplot e Heatmap nMatPlot: Plota cada coluna de uma matriz. nIdeal para estudos ao longo do tempo, análise longitudinal. n X <- matrix(rnorm(20*5),nrow=20); matplot(X,type="b") nHeatMap: Quase um histograma de duas dimensões. nHeatmap das 10 primeiras observações, utilizando as variáveis 161 a 236: n image(1:10,161:236,as.matrix(pData[1:10,161:236])) nTrocando linhas por colunas: n newMatrix <- as.matrix(pData[1:10,161:236]); newMatrix <- t(newMatrix)[,nrow(newMatrix):1]; image(161:236, 1:10, newMatrix) 12
  • 13. + Gráficos expositórios nComunicar seus resultados: artigos, teses... nInformações densas. Para explicar o que é difícil explicar com texto. nUsar cores e tamanho como ferramentas estéticas e para facilitar o entendimento. nEixos, títulos e legendas fáceis de entender. 13
  • 14. + Eixos nIncluir uma descrição clara citando a unidade de medida utilizada. nNomear os eixos: n plot(pData$JWMNP,pData$WAGP,pch=19,col="blue",cex=0.5, xlab="Travel time (min)",ylab="Last 12 month wages (dollars)") nMudar o tamanho do título dos eixos: n plot(pData$JWMNP,pData$WAGP,pch=19,col="blue",cex=0.5, xlab="Travel time (min)",ylab="Last 12 month wages (dollars)",cex.lab=2,cex.axis=1.5) 14
  • 15. + Legenda nAdicionar legenda: n plot(pData$JWMNP,pData$WAGP,pch=19,col="blue",cex=0.5,xlab="TT (min)",ylab="Wages (dollars)"); legend(100,200000,legend="All surveyed",col="blue",pch=19,cex=0.5) nDois pontos na legenda: n plot(pData$JWMNP,pData$WAGP,pch=19,cex=0.5,xlab="TT (min)",ylab="Wages (dollars)",col=pData$SEX); legend(100,200000,legend=c("men","women"),col=c("black","red"),pc h=c(19,19),cex=c(0.5,0.5)) 15
  • 16. + Titulos e panels nAdicionar título: n plot(pData$JWMNP,pData$WAGP,pch=19,cex=0.5,xlab="CT (min)", ylab="Wages (dollars)",col=pData$SEX,main="Wages earned versus commute time"); legend(100,200000,legend=c("men","women"),col=c("black","red"),pc h=c(19,19),cex=c(0.5,0.5)) nMultiple panels: n par(mfrow=c(1,2)); hist(pData$JWMNP,xlab="CT (min)",col="blue",breaks=100,main=""); mtext(text="(a)",side=3,line=1); plot(pData$JWMNP,pData $WAGP,pch=19,cex=0.5,xlab="CT (min)",ylab="Wages (dollars)",col=pData$SEX); legend(100,200000,legend=c("men","women"),col=c("black","red"),pc h=c(19,19),cex=c(0.5,0.5)); mtext(text="(b)",side=3,line=1) 16
  • 17. + Clusters nOrganizar pontos que estão próximos em grupos. nComo definimos o que está perto? nComo agrupamos? nComo visualizar os grupos? nComo interpretar os grupos? 17
  • 18. + Cluster hierárquico nCritério aglomerativo. n Pega os dois pontos mais relacionados. n Agrupa. n Encontra o próximo ponto mais perto. nRequer n Uma distância definida. n Critério para agrupamento. nProduz n Uma árvore mostrando quão perto seus pontos estão uns dos outros. 18
  • 19. + Definindo a distância nSeus dados podem ser utilizados para medir distância? nDistância ou similaridade? nSe seus dados são um contínuo: n Distância euclidiana n Correlação (similaridade) nSe seus dados são binários: n Distância de Manhattan nUtilize uma métrica que faz sentido para sua análise. 19
  • 20. + Distância euclidiana 20 x1, y1 x2, y2 y1 - y2y1 - y2 x1 - x2
  • 22. + Cluster hierárquico nGerando os dados: n set.seed(1234); par(mar=c(0,0,0,0)); x <- rnorm(12,mean=rep(1:3,each=4),sd=0.2); y <- rnorm(12,mean=rep(c(1,2,1),each=4),sd=0.2); plot(x,y,col="blue",pch=19,cex=2); text(x+0.05,y +0.05,labels=as.character(1:12)) nCalculando as distâncias: n dataFrame <- data.frame(x=x,y=y) n dist(dataFrame) 22
  • 26. + R, faz pra mim nFunção hclust: n distxy <- dist(dataFrame); hClustering <- hclust(distxy); plot(hClustering) nOnde cortar para definir seus clusters? nArbitrário? 26
  • 27. + K-means nCritério de particionamento: n Numero de clusters fixo. n Encontra o centróide para cada cluster. n Associa os pontos mais próximos ao centróide. n Recalcula os centróides. nRequer: n Distância métrica definida. n Numero de clusters definido. nProduz: n Pontos centróides para cada cluster. n Associa cada ponto a um cluster. 27
  • 29. + Associar pontos ao centróide mais próximo 29
  • 31. + Reassociar os pontos aos centróides 31
  • 33. + Faz aí nKmeans: n kmeansObj <- kmeans(dataFrame,centers=3); names(kmeansObj); n kmeansObj$cluster nVisualizando: n plot(x,y,col=kmeansObj$cluster,pch=19,cex=2); points(kmeansObj $centers,col=1:3,pch=3,cex=3,lwd=3) 33