52
Introdução à Análise de Dados Utilizando o Ambiente R Marcelo de Souza Lauretto Sistemas de Informação – EACH [email protected] Curso de Verão EACH/USP Fevereiro / 2015

Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

  • Upload
    lamdang

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

Introdução à Análise de Dados Utilizando o Ambiente R

Marcelo de Souza Lauretto

Sistemas de Informação – EACH

[email protected]

Curso de Verão EACH/USP

Fevereiro / 2015

Page 2: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

Referências

• R Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria, 2014. http://www.R-project.org

• R. Ihaka. R: Past and Future History. Statistics Department, The University of Auckland, Auckland, New Zealand. http://cran.r-project.org/doc/html/interface98-paper/paper.html

• J.Fox, M. Bouchet-Valat. Getting Started With the R Commander. Version 2.1-0. http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/Getting-Started-with-the-Rcmdr.pdf

Page 3: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

Referências

• P. J. Ribeiro Junior, Introdução ao Ambiente Estatístico R. 2011. http://www.leg.ufpr.br/~paulojus/embrapa/Rembrapa/

• W. N. Venables, D.M.Smith and the R Core Team. An Introduction to R. Version 3.1.2, 2014. http://www.cran.r-project.org/doc/manuals/R-intro.pdf

Page 4: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

Preâmbulo

Page 5: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

Fonte: M. J. Fontelles, Bioestatística Aplicada à Pesquisa Experimental. São Paulo, Ed. Livraria da Física, 2012. (Vol. 1, p. 188).

Tipos de variáveis em uma análise típica

Page 6: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

Pré-processamento de dados

• Etapas básicas* (Han & Kamber, 2006): – Limpeza: eliminação de caracteres espúrios, padronização

de formatos, redução de inconsistências, imputação de dados faltantes;

– Integração: Compilação das informações a partir de bases de dados heterogêneas;

– Transformação: Conversão de tipo (numérico categórico ou vice-versa), suavização (remoção de ruídos), agrupamentos de valores em faixas, normalização de variáveis, criação de novos atributos, etc.

– Redução de dimensionalidade, discretização. *A real necessidade de algumas atividades depende do problema e da modelagem de interesse.

J. Han, M. Kamber. Data Mining: Concepts and Techinques, 2nd Edition, Illinois USA: Elsevier, 2006

Page 7: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

R: definição e história

• R é uma linguagem e um ambiente de desenvolvimento voltado principalmente para computação estatística (inferência, simulações, data mining, etc) e gráficos.

• Desenvolvido originalmente por Ross Ihaka e Robert Gentleman (Depto Estatística da Universidade de Auckland, Nova Zelândia).

• Inspirado em duas linguagens: – S (John Chambers e colegas – Bell Labs): sintaxe

– Scheme (Hal Abelson and Gerald Sussman): implementação e semântica

• R está disponível como um software livre, nos termos da GNU GPL (General Public License). – Windows, Linux, OS X (Mac)

Page 8: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

O Projeto R

• Software e documentação disponível em www.r-project.org

• Conteúdo geral do site: – Sobre o R

– Download, packages: • CRAN (Comprehensive R Archive Network)

– Documentação • Manuals

• FAQs (Frequently Asked Questions)

– Ex: como citar o R.

– Informações suplementares: • CRAN Task views: guias para pacotes e funções úteis para certas

áreas/disciplinas

• Ferramenta de busca no site (opção Search), muito útil

Page 9: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

R Commander

Page 10: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

R Commander

• Interface gráfica para análises estatísticas básicas

– Comandos R são gerados e executados via menus

• Pacote Rcmdr

– Instalação: dentro do ambiente R: • install.packages('Rcmdr')

– Chamada: • library(Rcmdr)

Page 11: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• 1a chamada do Rcmdr:

– Instalar pacotes adicionais

Page 12: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Janela do R Commander:

Comandos R gerados pela interface

Resultados impressos

Mensagens de erro, avisos e outras notas

Configuração dos quadros

Page 13: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Entrada de dados no R Commander – Digitação manual

– Leitura de arquivos-texto

– Leitura de dados de pacotes

• Arquivo-texto: – Exemplo: Nations.txt

(subdiretório etc do pacote Rcmdr) Cabeçalho (nomes das

variáveis)

Registros (um por linha) Separadores de campos (espaços)

NA = missing values

Page 14: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Leitura do arquivo Nations.txt:

• TFR: total fertility rate (children/woman)

• contraception: rate of contraceptive among married women (%)

• infant.mortality: infant mortality rate (per 1000 live births)

• GDP: gross domestic product per capita (US$)

Page 15: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Edição e visualização dos dados

Page 16: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Sumários gerais

Page 17: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Sumários numéricos

Page 18: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Sumários numéricos agrupados

Page 19: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Histograma

infant.mortality

fre

qu

en

cy

0 50 100 150

02

04

06

08

0

Page 20: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Histogramas por grupos

Page 21: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

region = Africa

infant.mortality

frequency

0 50 100 150

015

30

region = Americas

infant.mortality

frequency

0 50 100 150

015

30

region = Asia

infant.mortality

frequency

0 50 100 150

015

30

region = Europe

infant.mortalityfr

equency

0 50 100 150

015

30

region = Oceania

infant.mortality

frequency

0 50 100 150

015

30

• Histogramas por grupos

Page 22: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Diagrama em caixa (Box-plot)

Page 23: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Diagrama em caixa (Box-plot): interpretação

Fonte: M. M. Reis, Estatística – Diagramas em Caixas. http://www.inf.ufsc.br/~marcelo/AED06.pdf

Md: Mediana Qi: quartil inferior Qs: quartil superior (Qs – Qi): intervalo inter-quartil

Informações de interesse: - Simetria - Dispersão - Dados discrepantes - Comparação entre grupos

Page 24: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Gráfico de dispersão (scatterplot)

Page 25: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Gráfico de dispersão (scatterplot)

50 100 200 500 1000 2000 5000 20000 50000

25

10

20

50

100

200

GDP

infa

nt.

mort

alit

y

Tonga

Iraq

Page 26: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Matriz de gráficos de dispersão (Scatterplot matrix)

Page 27: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Matriz de gráficos de dispersão (Scatterplot matrix)

contraception

0 20000 40000 1 3 5 7

020

40

60

80

020000

40000

GDP

infant.mortality

050

100

150

0 20 40 60 80

13

57

0 50 100 150

TFR

GDP muito assimétrico

Alternativa: nova variável com escala logarítmica

Page 28: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Criação de nova variável

Page 29: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Criação de nova variável

Page 30: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Matriz de gráficos de dispersão com nova variável

contraception

0 50 100 150 1 2 3 4 5 6 7

020

40

60

80

050

100

150

infant.mortality

logGDP

1.5

2.5

3.5

4.5

0 20 40 60 80

12

34

56

7

1.5 2.5 3.5 4.5

TFR

Page 31: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Matriz de gráficos de dispersão com filtro

contraception

20 40 60 80 1.5 2.5 3.5 4.5

20

40

60

20

40

60

80

infant.mortality

logGDP

3.0

3.5

4.0

20 40 60

1.5

2.5

3.5

4.5

3.0 3.5 4.0

TFR

Page 32: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Leitura de datasets de pacotes: Prestige

- education: average education (years) - income: average income (CAD$) - women: percentage of incumbents who are women. - prestige: Pineo-Porter prestige score for occupation - census: Canadian Census occupational code. - type: type of occupation.

Page 33: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Seleção do dataset ativo

Page 34: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Visualização de dependências (scatterplots)

census

6 8 12 16 20 40 60 80

2000

8000

610

14 education

income

010000

25000

20

60

prestige

2000 6000 0 10000 25000 0 40 80

040

80women

Page 35: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Ajuste de modelo linear (1ª versão)

Page 36: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Ajuste de modelo linear (1ª versão)

Page 37: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Ajuste de modelo linear (2ª versão)

Page 38: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Ajuste de modelo linear (2ª versão)

Page 39: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Análise de Variância (ANOVA)

Page 40: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

R Studio

Page 41: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

R Studio

• IDE (integrated development environment) para R

• Algumas vantagens:

– Facilidade de execução parcial ou total de scripts R

– Inserção de pontos de parada no código (depuração)

– Integra editor, console do R, ajuda, gráficos, instalador de pacotes, histórico de comandos, inspeção de variáveis, etc.

• Disponível em http://www.rstudio.com/

– Windows, Linux, OS X (Mac)

• Algumas características de uso serão apresentadas durante a aula.

Page 42: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

Editor

Histórico, variáveis de ambiente

Console do R

Diretório, gráfico, pacotes, ajuda

Page 43: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

Linguagem R

Page 44: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

R: Ajuda

• Ajuda no ambiente R:

help.start()

help('while'), help('print'), ?print

help.search('regression')

• R site search:

– http://finzi.psych.upenn.edu/search.html

• CRAN Task Views:

– http://cran.r-project.org/web/views/

• Cartão de referência preparado por Jonathan Baron:

– http://www.leg.ufpr.br/~paulojus/misc/refcard.pdf

Page 45: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

Tipos de objetos no R

• Tipos de objetos em R: – vector: o mais elementar e um dos mais importantes – matrix e array: generalizações multi-dimensionais de vetores – factor: forma compacta para manipulação de dados categóricos – list: forma geral de vetores, nos quais os elementos não

precisam ser do mesmo tipo básico. Útil p.ex. para retorno de funções, quando diversos objetos necessitam ser devolvidas

– data frames: são estruturas na forma de matrizes, em que as colunas podem ser de diferentes tipos básicos

– funções: maneira simples e conveniente de estender as funcionalidades do R.

• Todo objeto tem dois atributos intrínsecos: – mode: tipo básico dos elementos do objeto

• numeric (inclui double, integer, factor), character, logical e complex

– length: número de elementos do objeto

Page 46: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

Vetores

• Atribuição:

x <- c(10.4, 5.6, 3.1, 6.4, 21.7)

Operador de atribuição: <- = ou ->

x

mode (x)

length(x)

y <- c(x, 0, x)

c(x, 0, x) -> y

• Aritmética:

v <- 2*x + y + 1

Page 47: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Funções estatísticas e sumários:

sum(x)

length(x)

mean(x) # equivalente a sum(x) / length(x)

var(x) # equivalente a sum((x-mean(x))^2) / (length(x)-1)

• Sequências regulares

s1 = 1:30

n=10

s2 = 1:n-1

s3 = 1:(n-1)

s4 = seq(-5, 5, by=.2)

Page 48: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Vetores lógicos

temp = x>13

• Filtros

idxval = which(x>13)

xsel = x[idxval]

• Vetores de caracteres

letras = c('a', 'b', 'c')

repeticao_a

labs <- paste(c("X","Y"), 1:10, sep='')

Page 49: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

Operações e funções matemáticas:

2 + 4 * 5 # Order of operations log (10) # Natural logarithm with base e=2.7182 log10(5) # Common logarithm with base 10 5^2 # 5 raised to the second power 5/8 # Division sqrt (16) # Square root abs (3-7) # Absolute value pi # 3.14 exp(2) # Exponential function round(pi,0) # Round pi to a whole number round(pi,1) # Round pi to 1 decimal place round(pi,4) # Round pi to 4 decimal places

Page 50: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

Operações e funções matemáticas:

floor(15.9) # Rounds down ceiling(15.1) # Rounds up cos(.5) # Cosine Function sin(.5) # Sine Function tan(.5) # Tangent Function acos(0.8775826) # Inverse Cosine asin(0.4794255) # Inverse Sine atan(0.5463025) # Inverse Tangent

Page 51: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

Outros tipos de objetos

• Matrizes:

M = matrix(1:20, nrow=5, ncol=4)

N = matrix(1:20, nrow=5, ncol=4, byrow=TRUE)

colnames(N) = c('a', 'b', 'c', 'd')

N[, 1:2]

N[c(2,4),]

N[c(2,4), 1:2] # acesso a porcoes especificas

N[,c('a', 'b')]

Page 52: Introdução à Análise de Dados Utilizando o Ambiente Reach.uspnet.usp.br/lauretto/cursoR2015/cursoR2015.pdf · Livraria da Física, 2012. (Vol. 1, ... –Sobre o R –Download,

• Data frames

Test = data.frame(a = rep(1,10), b=runif(10,1), c=letters[1:10])

• Listas

Ltest = list(a=1:10, b=3, t=Test)

Ltest2 = list()

Ltest2[[1]] = 1:10

Ltest2[[2]] = 1