1 / 43

R - Introdução à Programação

R - Introdução à Programação. Suzi Camey Departamento Estatística - UFRGS. Agradecimento. Prof. Joaquim Pereira Neto UNEB - Universidade do Estado da Bahia Departamento de Tecnologia e Ciências Sociais R_STAT -> Arquivos. Introdução ao R. Universidade de Auckland, 1995

michon
Download Presentation

R - Introdução à Programação

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. R - Introdução à Programação Suzi Camey Departamento Estatística - UFRGS

  2. Agradecimento Prof. Joaquim Pereira Neto UNEB - Universidade do Estado da Bahia Departamento de Tecnologia e Ciências Sociais R_STAT -> Arquivos

  3. Introdução ao R • Universidade de Auckland, 1995 • Robert Gentleman, Ross Ihaka • http://www.r-project.org

  4. Instalando o R para Windows • Dowload: http://www.r-project.org • Pode ser instalado e executado em CD ou pen drive. • Acesso a Internet: facilita, mas não é fundamental.

  5. Tinn-R • Editor de código do R • Download: http://sourceforge.net/projects/tinn-r/ • Dicas de uso: Help>This version>Portuguese>leiame.html

  6. Operações com o R > 2 + 3*4 # prioridade da operação multiplicação [1] 14 > 3/2+1# prioridade da operação divisão [1] 2.5 > 2 * 3 ^ 2 # potências são indicadas por ^ ou ** [1] 18 Tudo que está depois do símbolo #, define um comentário e é ignorada pelo R

  7. Operações com o R No R todas as funções têm a forma: >função(argumento obrigatório,argumento opcional) > sqrt(2) # Encontra a raiz quadrada de 2 [1] 1.414214 > sin(pi/6) # Encontra o seno de 30º [1] 0.5 > log( ,3) #ver tips Tinn-R > ?log ou > help(log) ou > help.search(log)

  8. Operações com o R

  9. Como o R armazena objetos • O R é uma linguagem orientada a objetos. • Objetos para o R: banco de dados, como uma tabela, variáveis, vetores, matrizes, funções, etc. • Objetos são armazenados na memória ativa do computador.

  10. Como o R armazena objetos • Criar um objeto qualquer no R: usar o operador de atribuição “<-“ > x<-sqrt(9) > x > sqrt(9)->x > y=log10(100) > x+y

  11. Como o R armazena objetos • Nomes de objetos (tabelas, variáveis, etc.) devem começar sempre com uma letra. Maiúsculas e minúsculas são consideradas diferentes. Exs.: > x1 <-10 > x.1 <-10 > x_1 <-10 > 1x <-10

  12. Workspace • Cada vez que o R é aberto inicia-se uma nova sessão. • A coleção de objetos criados durante uma sessão R é denominada de workspace. • Todos os objetos criados podem ser salvos em um arquivo denominado .Rdata. • No final de cada sessão o R sempre pergunta: "Save workspace image?" .

  13. Workspace • Mudando o diretório de trabalho: • Via Menu: Arquivo>Mudar dir... • setwd('C:/User/Prof114/')

  14. Workspace • O R armazena um histórico de comandos usados na sessão em um arquivo com extensão “.Rhistory”. • Como os comandos ficam acumulados, para você recuperar comandos, basta usar as teclas de setas de deslocamento vertical, para recuperá-los.

  15. Listar e eliminar objetos • Listar: > objects() > ls() • Eliminar todos os objetos: > rm() • Eliminar os objetos x e y: > rm(x,y)

  16. Tipos de objetos Sete tipos básicos de objetos, classificados em duas categorias: • Objetos atômicos – contém apenas dados de um único tipo: vector, matrix, array, factor, ts. • Objetos não atômicos – contém valores de todos os tipos: data.frame, list.

  17. Tipos de objetos Os objetos podem ainda ser classificados de acordo: • mode: refere-se à natureza dos seus elementos: logical, numeric, complex e character. • attributes: informa sobre a estrutura e conteúdo do objeto. • class: informa o tipo de objeto: vector, matrix, array, factor, ts, data.frame, list. mode(x), attributes(x), class(x)

  18. Tipos de objetos Os elementos de um objeto pode ser: • logical : Modo binário, com valores T ou F(True ou False) • numeric : Números reais • complex : Números complexos, a + bi • character : Caracteres, "Maria“

  19. Tipos de objetos: Vetores • Forma mais simples de armazenamento de dados. • Conjunto de elementos de um mesmo tipo: números , caracteres ou valores lógicos. • Os vetores apresentam dois atributos: length e mode.

  20. Tipos de objetos: Vetores > numero<-3 > numero [1] 3 > mode(numero) [1] “numeric” > fruta<-"banana” > fruta [1] "banana“ > mode(fruta) [1] "character”

  21. Tipos de objetos: Vetores > x<-c(10.4, 5.6, 3.1, 6.4, 21.7) > x [1] 10.4 5.6 3.1 6.4 21.7 > length(x) [1] 5 > mode(x) [1] "numeric"

  22. Tipos de objetos: Vetores

  23. Tipos de objetos: Vetores • Função scan() > x<-scan() 1: 10.4 5.6 3.1 6.4 21.7 6: Read 5 items > x [1] 10.4 5.6 3.1 6.4 21.7 

  24. Tipos de objetos: Vetores > frutas<-scan(what=" ", sep=",") 1: banana,uva,manga 4: Read 3 items > frutas [1] "banana" "uva" "manga"

  25. Tipos de objetos: Vetores • Função rep() > x<-rep('a',5) > x [1] "a" "a" "a" "a" "a" > x<-rep(2,6) > x [1] 2 2 2 2 2 2 > x<-rep(c('s','n'), c(2,4)) > x [1] "s" "s" "n" "n" "n" "n" > x<-rep(c(4, 5, 6), 2) > x [1] 4 5 6 4 5 6

  26. Tipos de objetos: Vetores • Função seq() > x<-seq(-1,1,0.4) > x [1] -1.0 -0.6 -0.2 0.2 0.6 1.0 > x<-seq(-1,1,length=6) > x [1] -1.0 -0.6 -0.2 0.2 0.6 1.0 > x<-seq(-1, by=0.4, length=6) > x [1] -1.0 -0.6 -0.2 0.2 0.6 1.0

  27. Tipos de objetos: Vetores • Geração de seqüências numéricas. > 1:10 [1] 1 2 3 4 5 6 7 8 9 10 • O operador “:” (dois pontos) tem prioridade máxima numa expressão onde seja usado: > 2*1:10 [1] 2 4 6 8 10 12 14 16 18 20

  28. Tipos de objetos: Vetores • Concatenação de vetores > x <- c(2, 3, 5, 2, 7, 1) > y <- c(10, 15, 12) > z <- c(x,y) > z [1] 2 3 5 2 7 1 10 15 12

  29. Tipos de objetos: Vetores • Operações aritméticas • vetores num éricos e lógicos • operações elemento a elemento, caso tenham a mesma dimensão. > peso<-c(62, 70, 52, 98, 90, 70) > altura<-c(1.70, 1.82, 1.75, 1.94, 1.84, 1.61) • Calcular IMC para essas pessoas. > i.m.c<-peso/altura^2 > i.m.c [1] 21.45329 21.13271 16.97959 26.03890 26.58318 27.00513

  30. Tipos de objetos: Vetores • Outras funções: > max(peso) [1] 98 > min(peso) [1] 52 > range(peso) [1] 52 98

  31. Tipos de objetos: Vetores • Outras funções: > mean(peso) [1] 73.66667 > var(peso) [1] 298.2667 De outra forma: > sum(x)/length(x) [1] 73.66667 > sum((x-mean(x))^2)/(length(x)-1) [1] 298.2667

  32. Tipos de objetos: Vetores

  33. Tipos de objetos: Vetores > x<-seq(-2, 2, by=0.5) > x [1] -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 > x>=-1 [1] FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE > x>=-1 & x<=1 [1] FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE FALSE > x<=-1 | x>=1 [1] TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE

  34. Tipos de objetos: Vetores • Vetores alfanuméricos > x<-paste(c("X"), 1:10, sep="-") > x [1] "X-1" "X-2" "X-3" "X-4" "X-5" "X-6" "X-7" [8] "X-8" "X-9" "X-10" > xy<-paste(c("X","Y"), 1:10, sep="-") > xy [1] "X-1" "Y-2" "X-3" "Y-4" "X-5" "Y-6" "X-7" [8] "Y-8" "X-9" "Y-10”

  35. Tipos de objetos: Vetores • Subconjunto de vetores > x<-c(0, 8, 9, 7, 4, 2, 10, 0, 2, 1) > x1<-x[6] > x1 [1] 2 > x2<-x[2:6] > x2 [1] 8 9 7 4 2 > x3<-x[c(2, 4, 8)] > x3 [1] 8 7 0

  36. Tipos de objetos: Vetores • Subconjunto de vetores > x6<-x[c(-1, -2, -10)] > x6 [1] 9 7 4 2 10 0 2 > frutas<-c(5, 10, 1, 20) > frutas [1] 5 10 1 20 > names(frutas)<-c("laranja", "banana", "maçã", "pera") > jantar<-frutas[c("maçã", "laranja")] > jantar maçã laranja

  37. Tipos de objetos: Vetores • Subconjunto de vetores > x<-c(0, 8, 9, 7, 4, 2, 10, 0, 2, 1) > xa<-x[x > 4] > xa [1] 8 9 7 10 > xb<-x[x > 2 & x <= 8] > xb [1] 8 7 4

  38. Tipos de objetos: Matrizes • Disposição bidimensional dos dados em linhas e colunas. • Conjunto de elementos de um mesmo tipo: números , caracteres ou valores lógicos. • Matrizes apresentam quatro atributos: • length – dá o número de elementos da matriz • mode – dá o tipo de valores • dim – dá o número de linhas e colunas • dimnames – dá os nomes das linhas e colunas

  39. Tipos de objetos: Matrizes • matrix(data, nrow=m, ncol=n, byrow=T ou F) notas.matrix<-matrix(scan(), ncol=3, byrow=T) 1: 7.5 6.9 8.2 8.2 7.3 6.7 5.9 6.8 9.0 7.8 7.0 7.5 8.8 7.9 6.4 16: > notas.matrix [,1] [,2] [,3] [1,] 7.5 6.9 8.2 [2,] 8.1 7.3 6.7 [3,] 5.9 6.8 9.0 [4,] 7.8 7.0 7.5 [5,] 8.8 7.9 6.4

  40. Tipos de objetos: Matrizes • Função “cbind” > notas.p1<-c(7.5, 8.1, 5.9, 7.8, 8.8) > notas.p2<-c(6.9, 7.3, 6.8, 7.0, 7.9) > notas.p3<-c(8.2, 6.7, 9.0, 7.5, 6.4) > notas.matrix<-cbind(notas.p1, notas.p2, notas.p3) > notas.matrix notas.p1 notas.p2 notas.p3 [1,] 7.5 6.9 8.2 [2,] 8.1 7.3 6.7 [3,] 5.9 6.8 9.0 [4,] 7.8 7.0 7.5 [5,] 8.8 7.9 6.4

  41. Tipos de objetos: Matrizes • Função “rbind” > aluno1<-c(7.5, 6.9, 8.2) > aluno2<-c(8.1, 7.3, 6.7) > aluno3<-c(5.9, 6.8, 9.0) > aluno4<-c(7.8, 7.0, 7.5) > aluno5<-c(8.8, 7.9, 6.4) > notas.matrix<-rbind(aluno1,aluno2,aluno3,aluno4,aluno5) > notas.matrix [,1] [,2] [,3] aluno1 7.5 6.9 8.2 aluno2 8.1 7.3 6.7 aluno3 5.9 6.8 9.0 aluno4 7.8 7.0 7.5 aluno5 8.8 7.9 6.4

  42. Tipos de objetos: Matrizes • Outras maneiras: > notas.matrix<-matrix(c(7.5,6.9,8.2,8.1,7.3,6.7,5.9,6.8, 9.0,7.8,7.0,7.5,8.8,7.9,6.4), ncol=3, byrow=T) > notas.matrix<-c(7.5,6.9,8.2,8.1,7.3,6.7,5.9,6.8, 9.0,7.8,7.0,7.5,8.8,7.9,6.4) > dim(notas.matrix) <-dim(5,3) > notas.matrix<-matrix(notas.matrix, ncol=3) > notas.matrix<-matrix(notas.matrix, nrow=5)

  43. Tipos de objetos: Listas • Lista é um objeto constituído por uma coleção ordenada de objetos. • É o tipo de objeto mais flexível do R. • É a mais freqüente escolha para retornar valores de uma análise do R. >dados<-list(pai="Jose", esposa="Maria", n.filhos=3, idade.filhos=c(4, 7, 9)) >dados >dados$pai >dados$pai<-”José” >dados[1] >dados[[1]] >dados[[4]][2]

More Related