Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem...

43
Utilizando o R

Transcript of Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem...

Page 1: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Utilizando o R

Page 2: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 2 17/8/2008

Introdução ao R

R é um linguagem (ambiente) de programação para computação estatística e gráficaBaseada na linguagem S (S-Plus)

O ambiente R é flexível Pode ser estendido através de pacotesOpen source e gratuito

Page 3: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 3 17/8/2008

Introdução ao R

Desenvolva um pacote e torne-se um colaborador do projeto

Homepage do projetohttp://cran.r-project.org/

O R é atualizado pelo menos a cada 6 mesesR version 2.9.0 has been released on 2009-

12-14.

Page 4: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 4 17/8/2008

Introdução ao R

Códigos desenvolvidos em versões anteriores podem não funcionar em versões mais recentes

Existem ferramentas GUI para o Rhttp://www.sciviews.org/Tinn-R/index.html

Page 5: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 5 17/8/2008

Instalando o R

O pacote R e os principais manuais podem ser obtidos a partir http://cran.r-project.org/ou em um mirror

Siga as instruções para instalar o pacote base do RNão esqueça de instalar os manuais on-line

Page 6: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 6 17/8/2008

Instalando o R

Instalando pacotes de dados Do livro “Introdutory Statistics with R”

chooseCRANmirror() install.packages(“ISwR", dependencies = TRUE) library (ISwR)

Do livro “Data Analysis and Graphics Using R” install.packages(“DAAG", dependencies = TRUE) library (DAAG)

Page 7: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 7 17/8/2008

Primeiros passos

Somando dois valores 2 + 2

Atribuindo uma operação a uma variável a = 2 + 2 a <- 2 + 2

Para ver o resultado, digite a variável a [1] 4

ou print (a)

Page 8: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 8 17/8/2008

Primeiros passos

Entrando com dados com “c”oncatenate valores = c (6,7,4,3,2,0,0,6) valores

OBS 1: Dados são armazenados no “R” como um vetor a=4 a[1]

OBS 2: O índice da primeira posição do vetor é 1 OBS 3: Comentários devem ser precedidos por # Aplicando funções a um conjunto de dados

length (valores) min (valores) max (valores)

Page 9: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 9 17/8/2008

Primeiros passos

Para sair>q ()

Para ajuda>help (<nome do comando>)

Se não sabe o nome corretamente>help.search (“<parte do comando>”)>apropos(“parte do nome do comando”)

Page 10: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 10 17/8/2008

Gerando valores

vetor <- c(1:9) vetor = (1:9)vetor = (9:1)seq(1, 9, by = 2) seq(1, 9, by = pi )seq(1, 9, by = 0.5) rep(1,10)rep(vetor,5)rep (vetor, each = 5)

Page 11: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 11 17/8/2008

Matrizes

m <- matrix(c(1,2,3,11,12,13), nrow = 2,

ncol=3, byrow=TRUE, dimnames =

list(c(“linha1", “linha2"), c(“col1”,”col2”,”col3”)))

>m Experimente retirar a cláusula byrow

Page 12: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 12 17/8/2008

Matrizes

x <- matrix(1:9,nrow=3)

x

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

[1,] 1 4 7

[2,] 2 5 8

[3,] 3 6 9

Page 13: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 13 17/8/2008

Operações matemáticas

entre números (incluindo constantes e variáveis simples)soma: +subtração: -produto: *divisão: /potência: ^divisão inteira: % / %mod: %%

Page 14: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 14 17/8/2008

Operações matemáticas

entre matrizes e números: se x é uma matriz, temos:

soma: x + 2subtração: x - 2produto: x * 2divisão: x / 2potência: x ^ 2divisão inteira: x % / % 2mod: x %% 2

Page 15: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 15 17/8/2008

Operações matemáticas

entre matrizes: se x e y são matrizes, temos:

soma: x + ysubtração: x - yproduto: x %*% y

Page 16: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 16 17/8/2008

Operadores lógicos

maior que: > , >= menor que: < , <= igual a: == diferente de: != para expressões:

and: &or: |not: !

Page 17: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 17 17/8/2008

Exemplo

peso = c (60, 72, 57, 90, 95, 72) altura= c(1.75, 1.80, 1.65, 1.90, 1.74, 1.91) nome=c(“jó”, “josé”,“joão”, “zé”, “noé”, “mané”) peso > 70 peso (peso > 70) nome [(peso > 70)] nome [(peso > 70) & (peso < 80)] IMC = peso / altura ^ 2 nome [IMC > 25]

Page 18: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 18 17/8/2008

Operações básicas com vetores

Somatóriosum(<nome do vetor>)

Produtórioprod(<nome do vetor>)

Tamanho do vetor length(<nome do vetor>)

Ordenaçãosort(<nome do vetor>)

Page 19: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 19 17/8/2008

Operações básicas

Valor absolutoabs(<nome da variável ou vetor>)

Raíz quadradasqrt(<nome da variável ou do vetor>)

Page 20: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 20 17/8/2008

Operações estatísticas

Média aritméticamean(<nome do vetor>)

Medianamedian(<nome do vetor>)

Desvio padrãosd(<nome do vetor>)

Page 21: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 21 17/8/2008

Exemplos

Média aritmética mean(peso) ou Media = sum (peso) / length (peso)

Mediana median(<nome do vetor>) ou hist (peso)

Desvio padrão sd(peso) ou mediaPeso= sum (peso) / length (peso) sqrt (sum((peso - mediaPeso) ^ 2)/ (length (peso) - 1))

Page 22: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 22 17/8/2008

Operações estatísticas

Variânciavar (<nome do vetor>)

Covariânciacov(<nome do vetor 1>, <nome do vetor 2>)

Correlaçãocor(<nome do vetor 1>, <nome do vetor 2>)

Regressão simples lm (y~x)

Page 23: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 23 17/8/2008

Missing values

Algumas operações podem retornar resultados “inexistentes”, chamados “missing values” Inf: infinito positivo-Inf: infinito negativoNaN: “Not a Number”NA: “Not Available”

Page 24: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 24 17/8/2008

Missing values

Existem funções para testar se algum desses valores foi retornado is.finite(x) is.infinite(x) is.nan(x)

onde x pode ser um vetor

Page 25: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 25 17/8/2008

exemplos

is.finite (peso[5]) is.finite (peso[5]/0) is.na (peso[10]) onde x pode ser um vetor

Page 26: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 26 17/8/2008

Geração de números

Uniformesrunif(n, min, max)

Normaisrnorm(n, média, desvio padrão)

t-Studentrt(n, graus de liberdade)

Qui-Quadradorchisq(n, graus de liberdade)

Page 27: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 27 17/8/2008

Geração de gráficos

x=c(1:9) y=c(1:9) plot(x,y) plot(x,y,xlab=“valores de x”, ylab=“valores

de y”) plot(x,y,type=“l”)

Page 28: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 28 17/8/2008

Geração de gráficos

x=rnorm(500,0,1) mean(x) median(x) sd(x) var(x) hist(x)

Page 29: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 29 17/8/2008

Lendo arquivos de dados

O arquivo datafile.dat é composto pelos seguintes dados:

Tamanho lote de terra homens/hora necessários para uma determinada atividade (arar, limpar, colher, plantar)

30 7320 5060 12880 17040 8750 10860 13530 6970 14860 132

Page 30: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 30 17/8/2008

Lendo arquivos de dados

Ajustando o diretório de trabalho setwd(“c:/temp”)

Para ler arquivos com nomes de colunas na primeira linha, use dataset <- read.table (“datafile.dat”, header=TRUE)

Para obter os vetores dataset$tamanho_lote dataset$homens_hora

Page 31: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 31 17/8/2008

Lendo arquivos – parte II

Ajustando o diretório de trabalho setwd(“c:/temp”)

Para ler arquivos sem nomes de colunas na primeira linha, use dataset <- scan (“datafile2.dat”, what=list (x=0,y=0))

Para obter os vetores dataset$x dataset$y

Page 32: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 32 17/8/2008

Lendo dados – parte III

stack.dat<-scan(what=list(tamanho_lote=0,homens_hora=0))30 7320 5060 12880 17040 8750 10860 135attach (stack.dat)stack.dat$tamanho_lotestack dat$homens_hora

Os comandos acima podem ser inseridos em um arquivo ou diretamente a partir da linha de comando do R

Page 33: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 33 17/8/2008

Lendo arquivos de dados

O arquivo datafile3.dat é composto por dados que representam o nome do aluno e a natureza do ensino de nível médio

joao publicomario privadocristiano privadomaria publicotalita privadomariana privadoadelia publicomonique publicocarlos privadobruno privado

Page 34: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 34 17/8/2008

Lendo arquivos – parte IV

Ajustando o diretório de trabalho setwd(“c:/temp”)

Para ler arquivos com nomes de colunas na primeira linha, use dataset <- scan (“datafile3.dat”, what=list (x=“”,y=“”))

Para obter os vetores dataset$x dataset$y

Page 35: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 35 17/8/2008

Lendo arquivos – parte V

Para ler arquivos separados por vírgula ou ponto e vírgula, use dados <-read.csv(“dados.csv", sep=";",

dec=",",header=FALSE)

Para obter os vetoresdados$xdados$y

Page 36: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 36 17/8/2008

Entrando com dados no R

Usando a função edit()

dados <- edit(data.frame())

Page 37: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 37 17/8/2008

O pacote Rcmdr

> library(Rcmdr)

Page 38: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 38 17/8/2008

Usando pacotes

Carregando um pacote no workspace library (<nome do pacote>)

Site com pacotes de colaboradoreshttp://cran.r-project.org/web/packages/

Instalando pacotesoptions (CRAN="http://cran.r-project.org") Install.packages (“<nome do pacote>”)

Page 39: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 39 17/8/2008

Conselhos úteis

Ler os manuais no site do projeto CRAN Usar a página wiki do projeto CRAN

http://wiki.r-project.org/ Usar http://www.rseek.org/ ao invés do google Aprender com os errros ?lm dá uma ajuda sobre a função lm. Ler arquivos de

help pode ajudar bastante Assine a lista do R

(https://stat.ethz.ch/mailman/listinfo/r-help) Crie seu script personalizado de bibliotecas

Page 40: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 40 17/8/2008

Exercício 1

setwd(c:/temp) trabalho=scan(“datafile2.dat”, what=list (x=0,y=0)) attach (trabalho) x=trabalho$x y=trabalho$y plot (x,y, xlab=“valores de x”, ylab=”valores de y”) ajuste=lm(y~x) summary (ajuste) abline (ajuste)

Page 41: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 41 17/8/2008

Exercício 2 (montgomery)

Um motor de foguete é fabricado unindo um propelente de ignição a um propelente para manter o foguete em vôo. O poder da força da junção dos propelentes é uma característica de qualidade importante. Suspeita-se que o “poder” dessa força está relacionado com a “idade” do recipiente do propelente. O arquivo de dados datafile4.dat contém os dados relativos a 20 observações da força da junção comparados com a idade do recipiente do propelente.

Page 42: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Técnicas para Predição de Dados 42 17/8/2008

Exercício 2 (montgomery)

Plote o gráfico de dispersão. Encontre covariância entre os dois vetores de dados Encontre a correlação entre os dois vetores de dados Encontre a média dos dois vetores de dados Encontre os valores de Sxx e Sxy

Encontre os estimadores β0 e β1

Dado o modelo y = β0 + β1x, encontre os valores ajustados para a variável resposta para cada observação da variável explicativa

Encontre o resíduo ei e verifique se ∑ ei = 0 Finalmente, aplique os métodos do exercício 1 ao arquivo

datafile4.dat e compare os resultados. A tabela 2.2 do livro do montgomery apresenta os resultados acima.

Page 43: Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.

Utilizando o R