Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução à Análise de Dados Utilizando o Ambiente R Marcelo de Souza Lauretto Sistemas de Informação – EACH marcelolauretto@usp.br Curso de Verão EACH/USP Fevereiro / 2015 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 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 Preâmbulo 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 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 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) 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 R Commander 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) • 1a chamada do Rcmdr: – Instalar pacotes adicionais • Janela do R Commander: Comandos R gerados pela interface Resultados impressos Mensagens de erro, avisos e outras notas Configuração dos quadros • 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 • 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$) • Edição e visualização dos dados • Sumários gerais • Sumários numéricos • Sumários numéricos agrupados • Histograma infant.mortality fr e q u e n cy 0 50 100 150 0 2 0 4 0 6 0 8 0 • Histogramas por grupos region = Africa infant.mortality fr e q u e n c y 0 50 100 150 0 1 5 3 0 region = Americas infant.mortality fr e q u e n c y 0 50 100 150 0 1 5 3 0 region = Asia infant.mortality fr e q u e n c y 0 50 100 150 0 1 5 3 0 region = Europe infant.mortality fr e q u e n c y 0 50 100 150 0 1 5 3 0 region = Oceania infant.mortality fr e q u e n c y 0 50 100 150 0 1 5 3 0 • Histogramas por grupos • Diagrama em caixa (Box-plot) • 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 • Gráfico de dispersão (scatterplot) • Gráfico de dispersão (scatterplot) 50 100 200 500 1000 2000 5000 20000 50000 2 5 10 20 50 10 0 20 0 GDP in fa nt .m or ta lit y Tonga Iraq • Matriz de gráficos de dispersão (Scatterplot matrix) • Matriz de gráficos de dispersão (Scatterplot matrix) contraception 0 20000 40000 1 3 5 7 0 2 0 4 0 6 0 8 0 0 2 0 0 0 0 4 0 0 0 0 GDP infant.mortality 0 5 0 1 0 0 1 5 0 0 20 40 60 80 1 3 5 7 0 50 100 150 TFR GDP muito assimétrico Alternativa: nova variável com escala logarítmica • Criação de nova variável • Criação de nova variável • Matriz de gráficos de dispersão com nova variável contraception 0 50 100 150 1 2 3 4 5 6 7 0 2 0 4 0 6 0 8 0 0 5 0 1 0 0 1 5 0 infant.mortality logGDP 1 .5 2 .5 3 .5 4 .5 0 20 40 60 80 1 2 3 4 5 6 7 1.5 2.5 3.5 4.5 TFR • Matriz de gráficos de dispersão com filtro contraception 20 40 60 80 1.5 2.5 3.5 4.5 2 0 4 0 6 0 2 0 4 0 6 0 8 0 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 • 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. • Seleção do dataset ativo • Visualização de dependências (scatterplots) census 6 8 12 16 20 40 60 80 2 0 0 0 8 0 0 0 6 1 0 1 4 education income 0 1 0 0 0 0 2 5 0 0 0 2 0 6 0 prestige 2000 6000 0 10000 25000 0 40 80 0 4 0 8 0women • Ajuste de modelo linear (1ª versão) • Ajuste de modelo linear (1ª versão) • Ajuste de modelo linear (2ª versão) • Ajuste de modelo linear (2ª versão) • Análise de Variância (ANOVA) R Studio R Studio • IDE (integrated development environment) para R • Algumas vantagens: – Facilidade de execuçãoparcial 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. Editor Histórico, variáveis de ambiente Console do R Diretório, gráfico, pacotes, ajuda Linguagem R 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 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 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 • 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) • 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='') 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 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 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')] • 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
Compartilhar