Análise exploratória e modelação com R parte 1

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

Transcript of Análise exploratória e modelação com R parte 1

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

Minicurso I

Análise Exploratória e Modelação com R 1. Introdução ao R

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 1

Tópicos

1. Introdução

2. Instalação do programa R

3. Os primeiros passos

4. Objetos

5. Funcionalidades

6. Manipulação de Dados

2 MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

1. Introdução

R é um sistema para computação estatística e gráficos. Consiste numa linguagem e num ambiente de operação com gráficos, acesso a certas funções do sistema e capacidade de executar comandos armazenados em arquivos (scripts);

Trata-se de uma aplicação de distribuição gratuita, código fonte aberto, faz parte do GNU Project http://www.gnu.org/ , desenvolvido por Ross Ihaka e Robert Gentleman na década de 90 a partir da linguagem S;

Executável nos principais sistemas operativos: Linux, Macintosh e Windows;

Sistema gerido por rede mundial de investigadores;

Instalação simples, linguagem acessível;

Excelentes capacidades gráficas;

3

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

1. Introdução

Permite fazer análises estatísticas de forma tão ou mais potente que outros programas não gratuitos (SAS, SPSS, etc...);

Permite importar dados de outros programas (Access, Excel, SPSS, SAS, etc...);

Conjunto integrado de ferramentas que permitem a manipulação e análise de dados, o cálculo numérico e a produção e visualização de gráficos;

Linguagem interpretada (os comandos são imediatamente executados);

Linguagem orientada por objetos (os dados manipulados são armazenados na memória ativa do computador na forma de objetos, que têm um nome e aos quais se podem aplicar ações);

• Sempre que estivermos a referir-nos a um código ou a um output de texto do R, usaremos a fonte Courier New.

4 MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

1. Introdução (Páginas na Internet sobre o sistema R)

http://www.r-project.org - Homepage do R, a partir desta página podemos aceder a todas as outras páginas relacionadas.

http://cran.br.r-project.org/

O servidor mirror (espelho)

brasileiro (UFPr)

http://cran.r-project.org/other-docs.html - documentos de ajuda e manuais em formato pdf.

5 MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

1. Introdução (Editores)

6

R Editor

Word Pad

Tinn R

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

2. Instalação do programa R

7

Passo 1: Obter o ficheiro de instalação Através da internet indo directamente à página do R em http://www.r-project.org visualizamos:

No menu do lado esquerdo, na secção download clique em CRAN e de seguida escolha um dos servidores disponíveis para a transferência do ficheiro. Clicando então sobre o endereço atrás indicado vamos para esta nova página. Aqui devemos em primeiro lugar fazer o download do ficheiro com o Source code numa pasta para mais tarde executarmos.

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

2. Instalação do programa R

9

Clicando então em Guardar como devemos procurar a pasta de destino, como no exemplo seguinte:

No final aparecerá a mensagem de transferência concluída.

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

2. Instalação do programa R

10

No caso do sistema operativo utilizado ser Windows devemos então clicar sobre Download R for Windows e seremos conduzidos a

Deve agora clicar na sub-directoria base para fazer a transferência do ficheiro principal de instalação, ou em contrib para escolher outros packages extra disponíveis. Pensemos agora apenas no caso da opção base para a instalação principal do R ou em install R for the first time, caso de trate da primeira instalação.

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

2. Instalação do programa R

12

Para guardar o ficheiro clique na opção correspondente Guardar como e de seguida seleccione a pasta para onde será guardado

Se optar pela execução do ficheiro inicia-se de imediato o Passo 2.

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

2. Instalação do programa R

13

Passo 2: Instalação do R Clique em Executar ou caso tenha o ficheiro de execução guardado numa pasta: Procure o ficheiro R-3.1.1.tar.gz e descomprima-o para a pasta onde vai guardar o programa, por exemplo ( c:\Programas\R\R-3.1.1 ). Procure agora o ficheiro de instalação R-3.1.1-win32.exe obtido atrás e execute-o. Em primeiro lugar seleccione o idioma do programa de instalação e clique em OK. Neste momento entrará no Assistente de instalação do R para Windows.

Leia as instruções e clique em Seguinte nos próximos quadros: MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

2. Instalação do programa R

14

O R possui uma licença do tipo GNU General Public Licence. Pode ler o Contrato de Licença de Uso e de seguida clique em Seguinte.

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

2. Instalação do programa R

15

Selecione as componentes a instalar e clique em Seguinte

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

2. Instalação do programa R

16

Escolha o nome da pasta para o atalho que será criado no Menu Iniciar, ou aceite a sugestão e clique em Seguinte

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

2. Instalação do programa R

17

Durante a instalação deverá ver uma janela deste tipo

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

2. Instalação do programa R

18

E finalmente, a instalação foi realizada com sucesso. Parabéns. Clique em Concluir para fechar o programa de instalação.

Agora, se tudo correu bem, o R está pronto a ser usado, e terá sido criado um ícone no ambiente de trabalho ao qual pode recorrer para entrar na área de trabalho do R.

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

3. Os primeiros passos (Como iniciar uma sessão?)

Criar na área de trabalho uma nova pasta (por exemplo, TrabalhoR) onde irão ser guardados os ficheiros de dados.

Iniciar o R através do menu:

Iniciar → Todos os programas → R → R 3.1.1

ou em alternativa, através

Atalho criado no ambiente de trabalho

19 MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

3. Os primeiros passos (Ambiente de trabalho)

20

Fig. 2 Ambiente de trabalho do Software R

R Graphics

R Console

Menu principal

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

• O R funciona fundamentalmente no modo “pergunta-resposta”;

• Os comandos (frases que se escrevem numa certa sintaxe) introduzem-se a seguir à linha de comando ( > ) e são executados automaticamente ou após pressionar a tecla Enter;

• Para selecionar comandos executados anteriormente usar: ↑ ou ↓

• Para percorrer a linha de comandos usar: ← ou →

• Colocar o cursor no início / fim da linha de comandos: Home / End ;

• Para terminar o R deve executar-se o comando q() ou fechar a janela da aplicação.

21

3. Os primeiros passos (Como funciona?)

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

• Para atribuirmos um valor a um objeto usa-se o operador <- ;

• O nome de um objeto pode ser escolhido usando letras e números, combinações de letras e números. Ex: x<-2 , x2=c(1,2,3);

Pode ainda ser usado o ponto ( . ) Ex: a.1<-5 , mas na atribuição do

nome deve figurar sempre uma letra em primeiro lugar.

• O simbolo cardinal # é ignorado pelo R e deve preceder qualquer comentário, Ex:

> x=rnorm(10,0,1) # gera 10 valores com

distribuição normal de média 0 e variância 1

• Usa operadores aritméticos, relacionais e lógicos;

• Usa funções matemáticas, funções estatísticas e distribuições de probabilidade.

22

3. Os primeiros passos (Como funciona?)

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

Cálculo do valor duma expressão - o resultado é apresentado no visor e não é registado em memória.

> 2+sqrt(5)-2/3

[1] 3.569401

> exp(3)+log(5/7) # log é logaritmo neperiano

[1] 19.74906

Atribuição – o resultado da expressão é atribuído a um objeto e não é apresentado no visor.

> x <- 5 # <- é o operador de atribuição

> x

[1] 5

> y <- 2+3/4*7^2

> y

[1] 38.75

23

3. Os primeiros passos (Comandos Elementares)

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

O comando help()

é habitualmente usado para obter informação sobre uma função específica.

Por exemplo, para obter informação sobre a função cos() pode utilizar-se qualquer uma das opções:

> help(cos)

> help(“cos")

> ?cos

O comando help.search()

permite pesquisar uma sequência de caracteres. Por exemplo:

> help.search(“linear regression")

O comando help.start()

acede a uma página com informação diversa sobre o R.

(Existe também Help no menu no ambiente de trabalho do R.)

24

3. Os primeiros passos (O comando help)

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

4. Objetos

Os objetos são entidades que o R cria e manipula e que são guardados em memória.

O R funciona executando funções sobre objetos; (Exemplos: valores, vetores, matrizes, ...)

Cada objeto é caracterizado por um nome, conteúdo (sequência de elementos do objeto) e atributos (que especificam certas características do objeto).

Todos os objetos têm dois atributos intrínsecos:

mode : tipo de elementos do objeto (numérico, alfanumérico, lógico, ...; length : número de elementos do objeto. Exemplo: > x<-c(1,2,3,4,5) > mode(x)

[1] "numeric"

> length(x)

[1] 5

25 MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

4. Objetos

26

Para listar os objetos que se encontram disponíveis pode utilizar-se

qualquer uma das seguintes opções:

> ls()

> objects()

Para mostrar alguma informação sobre os objetos: > ls.str()

Para eliminar objectos:

> rm(objecto1, objecto2,...)

Para eliminar todos os objectos:

> rm(list=ls())

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

4. Objetos (Workspace)

27

Apresenta a coleção de objetos disponíveis numa sessão de trabalho, e pode

ser guardada num ficheiro com vista a sua utilização em futuras sessões.

No final de cada sessão é perguntado ao utilizador se pretende guardar o

Workspace. Caso a resposta seja afirmativa, todos os objectos disponíveis

em memória são guardados no ficheiro “.RData”, na pasta de trabalho em

uso, podendo ser carregados na sessão do R seguinte.

Podem os especificar qual a nossa pasta de trabalho usando:

menu File → Change dir...

Para importar um ficheiro de objectos (por exemplo o ficheiro “.RData”):

menu File → Load Workspace...

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

4. Objetos

28

Vector

Matrix

List

Data Frame

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

Um vector é um conjunto ordenado de elementos do mesmo tipo (mode) (valores numéricos, lógicos, alfanuméricos, ...);

Uma das formas de criar um vetor no R é através da função c();

c() é função designada função concatenação.

> x <- c(1.54, 1.72, 1.67, 1.65, 1.59)

> x

[1] 1.54 1.72 1.67 1.65 1.59

> y <- c(FALSE, FALSE, TRUE, TRUE, FALSE)

> y

[1] FALSE FALSE TRUE TRUE FALSE

> cores <-c (“Verde",“Vermelho",“Azul“, “Amarelo”)

> cores

[1] “Verde" “Vermelho" “Azul“ “Amarelo”

29

4. Objetos (Vector)

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

30

4. Objetos (Vector)

Um vector pode conter os símbolos especiais NA e NaN, que designam

respetivamente um valor desconhecido e um valor não definido.

> y <- c(NA, 53, 31, 15, 62)

> sqrt(c(-1,1,2))

[1] NaN 1.000000 1.414214

Warning message:

NaNs produced in: sqrt(c(-1, 1, 2))

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

31

4. Objetos (outras formas de criar um vetor)

n1:n2 sequência de valores, de uma em uma unidade, começando em n1 e

terminando em n2

rep(v1,r) cria um vetor contendo r vezes o valor v1

seq(a1,a2,a3) cria uma sequência de números no intervalo [a1,a2],

separados por intervalos de a3 unidades

c(rep(a,b),rep(c,d)) concatena dois vetores em um, (b>a) e (d>c)

(manipulação de vetores)

rounded(v) arredonda o número ou vetor de números v para o inteiro

mais próximo

sort(v) apresenta os valores do vetor v por ordem crescente

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

32

4. Objetos (Matrix)

Uma matrix é um conjunto de dados, todos do mesmo tipo, referenciados por

dois índices (i,j). Trata-se de uma generalização para duas dimensões de um

vector.

Uma matrix é definida pelo número de linhas (n), numero de colunas (m) e um

conjunto de (n×m) valores.

Com a função matrix() podemos criar matrizes.

> A<-matrix(c(2,3,4,2,1,2,5,2,3),nrow=3,ncol=3)

> A

[,1] [,2] [,3]

[1,] 2 2 5

[2,] 3 1 2

[3,] 4 2 3

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

33

4. Objetos (Matrix)

Para os valores aparecerem antes dispostos por linhas, usa-se byrow=T

> A<-matrix(c(2,3,4,2,1,2,5,2,3),nrow=3,ncol=3,byrow=T)

> A

[,1] [,2] [,3]

[1,] 2 3 4

[2,] 2 1 2

[3,] 5 2 3

Para obtermos a dimensão duma matriz: dim(A)

> dim(A)

[1] 3 3

Neste caso a matriz tem 3 linhas e 3 colunas

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

34

4. Objetos (Matrix)

Um vetor pode facilmente ser transformado numa matriz

> V <- c(4,5,-2,2,-1,6) # V é um vetor

E por sua vez uma matriz pode ser transformada num vetor

> as.vector(V)

[1] 4 5 -2 2 -1 6

> dim(V)<-c(3,2)

> V

[,1] [,2]

[1,] 4 2

[2,] 5 -1

[3,] -2 6

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

35

4. Objetos (Matrix - indexação)

A[i,j] é o elemento de A que está na linha i e na coluna j

> A[2,1] # elementos da segunda linha e primeira coluna

da matriz A

A[i,] é a linha i e A[,j] é a coluna j da matriz A. Estes objectos são do tipo

vector

> A[2,] # vetor constituido pelos elementos da segunda

linha

> A[,1] # vetor constituído pelos elementos da primeira

coluna

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

36

4. Objetos (Matrix - operações)

As operacoes +, -, *, /, ^ são realizadas elemento a elemento.

Todos os objetos do tipo matrix envolvidos na expressão devem ter o mesmo

atributo dim (isto é, o mesmo número de linhas e de colunas).

> A*A

[,1] [,2] [,3]

[1,] 4 9 16

[2,] 4 1 4

[3,] 25 4 9

Nota: esta operação A*A não é a habitual multiplicação de matrizes definida em

Álgebra Linear.

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

37

4. Objetos (Matrix - operações)

O operador multiplicação de matrizes é %*%

Se A e B são matrizes encadeadas dos tipos dim(A)=c(n,k) e dim(B)=c(k,m),

a matriz produto A%*%B é do tipo c(n,m).

> A%*%V

[,1] [,2]

[1,] 15 25

[2,] 9 15

[3,] 24 26

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

38

4. Objetos (algumas funções envolvendo matrizes)

t(A) - calcula a transposta da matriz A;

isSymmetric(A) - testa se a matriz A é simétrica;

solve(A) calcula a inversa da matriz (quadrada) A;

solve(A,b) - calcula a solução do sistema Ax=b, onde A é uma matriz

quadrada e b pode ser um vetor ou uma matriz;

det(A) calcula o determinante da matriz (quadrada) A;

eigen(A) calcula os valores e vetores próprios da matriz (quadrada) A;

kronecker(A1,A2) calcula o produto de Kronecker (A1⊗A2)

sum(diag(A)) calcula o traço da matriz A

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

39

4. Objetos (List)

Listas (List) são estruturas genéricas e flexíveis que permitem armazenar

diversos formatos num unico objeto.

> lis1 <- list(A = 1:15, B = “ISTO É UMA MENSAGEM", C =

matrix(1:9,nrow = 3,byrow=T))

> lis1

$A

[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

$B

[1] “ISTO É UMA MENSAGEM"

$C

[,1] [,2] [,3]

[1,] 1 2 3

[2,] 4 5 6

[3,] 7 8 9

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

40

4. Objetos (Data frame)

Uma data frame é semelhante a uma matriz, mas na qual as colunas podem

ser de tipos diferentes.

> serras <- data.frame(nome=serras.nome,

altitude=serras.altitude)

> resultados <- data.frame(na=c(12345:12350),

+ turma=c(1,1,2,2,3,3),nota=c(10.1,8.2,12.5, 13.1,9.7,7.3))

As data frame são casos especiais de listas onde as componentes têm o

mesmo número de elementos.

Uma data frame pode ser considerada como uma tabela de uma base de

dados: cada coluna corresponde aos atributos (campos) e cada linha

corresponde a um registo da tabela.

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

41

4. Objetos (Data frame)

Os elementos de uma data frame podem ser referidos (como numa matriz)

indicando a linha e a coluna:

> serras[4,1]

> serras[,2]

Pode também ser usada a notação nomeDataFrame$nomeComponente

(como numa lista):

> serras$nome

> serras[[1]]

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

42

4. Objetos (Data frame – função attach)

As consultas a data frames podem ser simplificadas utilizando a função attach()

A função attach() permite aceder directamente às colunas de uma data

frame, sem termos de indicar o nome dessa data frame.

> turma

Error: object "turma" not found

> attach(resultados)

> turma

[1] 1 1 2 2 3 3

> detach(resultados)

> turma

Error: object "turma" not found

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

5. Funcionalidades (Algumas funções usadas sobre vetores numéricos)

length(x) - número de elementos do vetor x;

sum(x) - soma dos elementos do vetor x;

prod(x)- produto dos elementos do vetor x;

cumsum(x)- vetor cujos elementos são a soma acumulada dos

elementos do vetor x;

cumprod(x)- vetor cujos elementos são o produto acumulado dos

elementos do vetor x;

sort(x)- vetor com os elementos do vetor x ordenados por

ordem crescente.

43 MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

Operadores

44

Operador Descrição

+

-

*

/

^

=

!=

<

>

<=

>=

&

|

!

Adição Subtracção Multiplicação Divisão Potenciação Igual Diferente Menor que Maior que Menor ou igual a Maior ou igual a E lógico OU lógico Não lógico

Tabela 1. Operadores

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

Algumas funções matemáticas

45

Função Descrição

log(x)

log10(x)

exp(x)

sin(x)

cos(x)

tan(x)

asin(x)

acos(x)

atan(x)

sqrt(x)

min( )

max( )

abs(x)

Logaritmo (base e) Logaritmo (base 10) Exponencial Seno Coseno Tangente Arco seno Arco coseno Arco tangente Raiz quadrada Mínimo Máximo Valor absoluto de x

Tabela 2. Funções matemáticas

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

Funções Estatísticas

46

Função Descrição

mean(x)

sd(x)

var(x)

median(x)

quantile(x,p)

cor(x,y)

range(x)

length(x)

Média Desvio padrão Variância Mediana Quantil p Correlação amostral entre X e Y Equivalente a c(min(x),max(x)) Número elementos do vector x

Tabela 3. Funções estatísticas

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

Distribuições de Probabilidade

47

Distribuição Descrição

rnorm(n,mean,sd)

runif(x,min,max)

rt(x,df)

rf(x)

rexp(x)

rchisq(x,df)

rbinom(x,n,p)

rgeom(x,p)

rpois(x,lambda)

rhyper(x,m,n,k)

Normal Uniforme t de Student F Exponencial Qui-Quadrado Binomial Geométrica Poisson Hipergeométrica

Tabela 4. Distribuições de Probabilidade

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

5. Funcionalidades (o R funcionando como calculadora)

48

A partir da linha de comando do R podemos somar … > 3+2

[1] 5

... subtrair, > 18-2

[1] 16

… multiplicar, > 5*4

[1] 20

... dividir, > 37/3

[1] 12.33333

ou realizar cálculos um pouco mais complexos como se fosse uma calculadora científica > sin(2*pi/3)

[1] 0.8660254 MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

5. Funcionalidades

49

Mas podem ocorrer erros quando o R não entende o que foi digitado, por exemplo: > 5,1*3 # O R usa o “.” e não “,”

Error: syntax error

> coss(2.3)

Error: could not find function "coss“

Cálculos repetitivos podem tornar-se automáticos no R: > x<-12

> x

[1] 12

> for (i in 1:4) {x+2->x}

> x

[1] 20

Uma sequência de numeros 1 a 8 pode ser obtida fazendo > 1:8

[1] 1 2 3 4 5 6 7 8 MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

5. Funcionalidades

50

Podemos designar x como a sequência 1 a 8 > x<-1:8

> x

[1] 1 2 3 4 5 6 7 8

e utilizar a sequência x > x+2

[1] 3 4 5 6 7 8 9 10

Também é possível duas sequências > y<-6:13

> y

[1] 6 7 8 9 10 11 12 13

> x+y

[1] 7 9 11 13 15 17 19 21

ou multiplicá-las. > x

[1] 1 2 3 4 5 6 7 8

> y

[1] 6 7 8 9 10 11 12 13

> x*y

[1] 6 14 24 36 50 66 84 104

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

51

Podemos efetuar outro tipo de algumas operações matemáticas simples

utilizando o R.

Vejamos mais alguns exemplos:

20^2 + 21^2 + . . . + 30^2

Para obter a resposta devemos:

1) criar uma sequência de números de 20 a 30

2) elevar ao quadrado cada valor deste vetor

3) somar os elementos do vetor

E estes passos correspondem aos seguintes comandos > (20:30)

[1] 20 21 22 23 24 25 26 27 28 29 30

> (10:20)^2

[1] [1] 400 441 484 529 576 625 676 729 784 841 900

> sum((20:30)^2)

[1] 6985

5. Funcionalidades

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

52

De notar que apenas precisamos do último comando para obter a resposta,

no entanto é importante entender a sequência dos comandos,

especialmente quando estamos em fase de aprendizagem!

(b) log(1) + log(10) + log(100) + . . . + log(10000000000)

onde log representa o logaritmo neperiano.

Resolvendo agora com apenas um comando:

> sum(sqrt(log(10^(0:10))))

[1] 34.09397

5. Funcionalidades

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

53

5. Funcionalidades (Gráficos de funções)

Vejamos o seguinte exemplo:

(b) 𝑓 𝑥 = 1 −1

𝑥cos 𝑥 , 𝑝𝑎𝑟𝑎 0 ≤ 𝑥 ≤ 100

> x <- seq(0, 100, l = 101)

> fx <- 1 - (1/x) * cos(x)

> plot(x, fx, type = "l")

0 20 40 60 80 100

0.6

0.8

1.0

1.2

x

fx

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

54

6. Manipulação de Dados

Podemos dar entrada dos dados no R de diferentes formas, consoante a

dimensão do conjunto de dados e/ou da existência dos mesmos numa base já

criada.

Inserção de dados diretamente no R (através da criação de vetores)

Podemos dar entrada com dados definindo vetores com o comando c() ou

usando outras funções que criam vetores.

> x1<-c(12,13,14,12,11,10,9,15)

> x1

[1] 12 13 14 12 11 10 9 15

> x2 <- (1:5) * 100

> x2

[1] 100 200 300 400 500

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

55

Usando a função scan()

Esta função permite a leitura dos dados diretamente a partir do ambiente R, ou

seja, coloca o R em modo prompt onde o utilizador deve digitar cada valor seguido

da tecla <ENTER>. Para terminar a entrada de dados basta digitar <ENTER>

duas vezes consecutivas. Vejamos o exemplo:

> x<-scan()

1: 2

2: 3 Para corrigir e/ou alterando dados

3: 2 Ex: substituir 6 por 2

4: 5

5: 6 > x[5]=2

6: 3 > x

7: 4 [1] 2 3 2 5 2 3 4 1 2 3

8: 1

9: 2

10: 3

11:

Read 10 items

> x

[1] 2 3 2 5 6 3 4 1 2 3

6. Manipulação de Dados

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

56

Usando a função edit()

O comando edit(data.frame()) abre uma folha para a digitação dos

dados que são armazenados como data frames.

6. Manipulação de Dados

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

57

Lendo os dados a partir de um ficheiro de texto

A forma mais simples de fazer isso é usar dados em formato texto (arquivo do

tipo ASCII).

Por exemplo, se os dados estão disponíveis numa folha de cálculo, como

EXCEL ou equivalente, podemos sempre na escolher a opção <SALVAR

COMO> e gravar os dados num ficheiro formato de texto.

No R, usamos a função scan(), ou então a função read.table()para ler

os dados de um ficheiro de texto e armazenar no formato de uma data frame.

Exemplo 1

Como primeiro exemplo consideremos a importação para o R dos dados deste

ficheiro texto.

Clicando no link podemos visualizar o ficheiro. De seguida copiamos o ficheiro

para a área de trabalho (working directory do R). Para importar este ficheiro

usamos: >exemplo1 <- read.table(“exemplo1.txt")

>exemplo1

6. Manipulação de Dados

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

58

Lendo os dados a partir de um ficheiro de texto

Exemplo 2

Consideremos agora a importação para o R dos dados deste ficheiro de texto.

Clicando novamente no link podemos visualizar o ficheiro de dados.

De seguida copiamos o ficheiro para a área de trabalho (working directory do R).

ficheiro texto

De notar que este ficheiro é diferente do anterior na medida em que os nomes

das variáveis estão indicados na primeira linha.

Para que o R considere corretamente essa informação devemos adicionar o argumento header=T.

Neste caso usamos então:

> exemplo2 <- read.table("exemplo2.txt", header=T)

> exemplo2

6. Manipulação de Dados

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

59

Exemplo 3

1º) Importar para o R os dados deste ficheiro texto.

2º) Clicar no link para visualizar o ficheiro.

3º) Copiar o ficheiro para área de trabalho (working directory do R).

Diferenças relativamente aos arquivos anteriores:

i) nomes das variáveis estão na primeira linha

ii) os campos agora são separados por :

iii) os carateres decimais estão separados por vírgula (,) mas o R usa o ponto

(.)

iv) para importar corretamente os dados devemos agora usar os argumentos

sep e dec:

> exemplo3 <- read.table("dados.csv", head=T, sep=":",

dec=",")

> exemplo3

6. Manipulação de Dados

MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

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

60 MINICURSO - CIAEEAR

MANAUS (AM), 12-15 AGOSTO 2014

The Future of Statistics by Bradley Efron

AMSTAT News, September 2007

“My own life as a consulting biostatistician has been revolutionized in the space

of a single career.

Sitting in front of a powerful terminal and calling up R functions to all the dozen

advances and a lot more really does put seven-league boots an a statistician’s

feet.

Maybe 77-league boots lie in our immediate future.. . . ”