Introdução ao Susana Barbosa Mestrado em Ciências Geofísicas 2012-2013 Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 O que é o R? O R é software livre (FOSS - Free Open Source Software) I projecto GNU, distribuído sob licença GPL I corre em diversas plataformas (linux, mac, windows) I extremamente extensível (+ de 2000 packages adicionais) http://www.r-project.org/ Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 O que é o R? O R é um ambiente para computação estatística & gráficos I estrutura eficiente para manipulação e armazenamento de dados I operadores para cálculos sobre vectores, matrizes e estruturas mais gerais I ferramentas para análise de dados I capacidades gráficas I linguagem de programação (incluindo ciclos, expressões condicionais,...) I interface com outras linguagens (fortran, C, python, ...) Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Prós I Software específico para Estatística & Gráficos I Linguagem de programação I Extensível (funções / packages definidas pelo utilizador) I Conjunto ENORME de packages adicionais I Excelente documentação ( livros, manuais, foruns, ...) I Actualização frequente e regular (∼ cada 4 meses) Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 “Contras” I Curva de aprendizagem (“No pain, No gain”) I Conjunto ENORME de packages adicionais (3597 packages em 2010/02/10) Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 R-Workspace $ R R version 2.9.2 (2009-08-24) Copyright (C) 2009 The R Foundation for Statistical Computing ISBN 3-900051-07-0 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type ’license()’ or ’licence()’ for distribution details. Natural language support but running in an English locale R is a collaborative project with many contributors. Type ’contributors()’ for more information and ’citation()’ on how to cite R or R packages in publications. Type ’demo()’ for some demos, ’help()’ for on-line help, or ’help.start()’ for an HTML browser interface to help. Type ’q()’ to quit R. > Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Workspace prompt da linha de comando > atribuição <- ou = comentario # Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Workspace directorio de trabalho (working directory) > getwd() sair do workspace > q() Nota: não é aconselhável usar o directorio de instalação (default) como working directory é desejável usar um working directory distinto para cada análise Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Ajuda > help.start() Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Objectos - exemplos > x=c(1:4) > x [1] 1 2 3 4 > labs=c("data1","data2") > labs [1] "data1" "data2" > mat=matrix(x,nrow=4,ncol=3) > mat [,1] [,2] [,3] [1,] 1 1 1 [2,] 2 2 2 [3,] 3 3 3 [4,] 4 4 4 Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Manipulação de objectos Visualizar o conteúdo do workspace > ls() [1] "labs" "mat" "x" Remover objectos > rm(x) Valores em falta: NA; 0/0, ... → NaN Extraír nformação sobre objectos > str(mat) int [1:4, 1:3] 1 2 3 4 1 2 3 4 1 2 ... > str(labs) chr [1:2] "data1" "data2" nmn Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Tipos de objectos I Vectores colecção ordenada de elementos do mesmo tipo I Matrizes array bidimensional (linhas & colunas) de elementos do mesmo tipo I Listas colecção de vectores, matrizes, ... elementos de tamanhos e tipos diferentes I Dataframes caso particular de uma lista de vectores com o mesmo tamanho (mas tipos diferentes) I Funções I ... Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Vectores > x=c(1,5,7,9,2) > x [1] 1 5 7 9 2 Selecção de elementos: operador [ ] > x[4] 9 > x[2:3] 5 7 x[which(x<7)] 1 5 2 Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Matrizes > > > > x=c(1,5,7,9) y=c(2,4,6,8) mat=cbind(x,y) mat x y [1,] 1 2 [2,] 5 4 [3,] 7 6 [4,] 9 8 > mat[3,1] 7 > mat[,2] [1] 2 4 6 8 > mat[1,] 1 2 Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Dataframes colecção de vectores (eventualmente de tipos diferentes) > data(cars) > str(cars) ’data.frame’: 50 obs. of $ speed: num $ dist : num 4 4 7 7 8 9 10 10 10 11 ... 2 10 4 22 16 10 18 26 34 17 ... Susana Barbosa: Análise de dados em Geociências 2 variables: Mestrado em Ciências Geofísicas 2012-2013 Funções Funções pré-definidas > summary(cars$dist) Min. : .00 1st Qu.: 926.00 Median : 36.00 Mean : 441.98 3rd Qu.: 42.98 Max. :56 Funções definidas pelo utilizador > minha.fun=function(x,y){ z <- x^2 + y^2; x+y+z } > minha.fun(1:2,3:4) [1] 14 26 Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Gráficos Função genérica > plot() Gráfico de barras > barplot() Diagrama circular > pie() Gráfico de caule e folhas > stem() Diagrama de caixa > boxplot() Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Importação de dados Importação de dados em formato ascii > read.table(file=”nome_ficheiro”) N: o ficheiro com os dados a importar deve estar guardado no working directory Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Packages Download de packages adicionais http://cran.r-project.org/web/packages/available_packages_by_name.html Instalação > install.packages(“nome_da_package”) ou menu Packages –> Install packages Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013 Referências I An Introduction to R http://cran.r-project.org/doc/manuals/R-intro.html I R Data Import/Export http://cran.r-project.org/doc/manuals/R-data.html I R for Octave/Matlab users http://cran.r-project.org/doc/contrib/R-and-octave.txt I R Graphics [P. Murrell, Chapman & Hall/CRC, 2005] http://www.stat.auckland.ac.nz/~paul/RGraphics/rgraphics.html Susana Barbosa: Análise de dados em Geociências Mestrado em Ciências Geofísicas 2012-2013