1 / 23

Profa. Suzi camey@mat.ufrgs.br euler.mat.ufrgs.br/~camey/

R. Profa. Suzi camey@mat.ufrgs.br http://euler.mat.ufrgs.br/~camey/. Rweb. http://www.math.montana.edu/Rweb/. Aula 17/05/07 Maiores detalhes: http://leg.ufpr.br/~paulojus/embrapa/Rembrapa/. Aritmética e Objetos Operações aritméticas Valores faltantes e especiais Objetos Tipos de objetos

adler
Download Presentation

Profa. Suzi camey@mat.ufrgs.br euler.mat.ufrgs.br/~camey/

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 Profa. Suzi camey@mat.ufrgs.br http://euler.mat.ufrgs.br/~camey/

  2. Rweb • http://www.math.montana.edu/Rweb/

  3. Aula 17/05/07Maiores detalhes: http://leg.ufpr.br/~paulojus/embrapa/Rembrapa/ • Aritmética e Objetos • Operações aritméticas • Valores faltantes e especiais • Objetos • Tipos de objetos • Vetores • Matrizes • Arrays • Data-frames • Listas • Exercícios

  4. Aritmética e Objetos Operações aritméticas >help(Arithmetic)

  5. Aritmética e Objetos Valores faltantes e especiais • NA: Not Available, denota dados faltantes. Note que deve utilizar maiúsculas. • NaN: Not a Number, denota um valor que não é representável por um número. • Inf ; -Inf: mais ou menos infinito. • exp(1): e • pi: 

  6. Aritmética e Objetos Objetos • O R é uma linguagem orientada à objetos: variáveis, dados, matrizes, funções, etc são armazenados na memória ativa do computador na forma de objetos. >ls(): lista os objetos guardados na memória ativa

  7. Aritmética e Objetos Como atribuir valores aos objetos: > x <- 25 > x * sqrt(x) -> x1 > x2.1 = sin(x1)

  8. Aritmética e Objetos Como NÃO atribuir valores aos objetos: > 99a <- 10: nome do objeto deve começar com letra. > a1 <- sqrt 10: sqrt é uma função portanto exige ( ). > a-1 <- 99: não aceita hífen. > sqrt(x) <- 10: não faz sentido

  9. Aritmética e Objetos • Exemplos de nomes de objetos a serem evitados: c q  s  t  C  D  F  I  T   diff  exp  log  mean  pi  range  rank  var • Exemplos de nomes reservados: FALSE  Inf  NA  NaN  NULL TRUE         break  else  for  function  if  in  next repeat  while

  10. Tipos de objetos: Vetores • função c() ("c" de concaternar) é usada para criar um vetor • Ex.: x<-c(2,3,52,9) • Os colchetes [ ] são usados para indicar seleção de elementos. • Ex.: x[2]

  11. Tipos de objetos: Vetores • As funções rep(), seq() e o símbolo ":" são usadas para facilitar a criação de vetores que tenham alguma lei de formação.   • : • Ex.: xx <- 100:1 • >help(rep) • Ex.: > rep(1:4, each = 12) > rep(1:4, rep(12, 4)) > rep(rep(1:3, each = 4), 4) > rep(1:4, 12) • >help(seq) • Ex.: >seq(1,10,1)  >seq(1,10,2) > seq(10,1,3) > seq(10,1,-3)

  12. Tipos de objetos: Vetores • Operações com vetores > x <- 1:10 > x + 2 > x * 2 > sqrt(x) > y <- 21:30 >  x+y  [1] 22 24 26 28 30 32 34 36 38 40 > z <- c(1,2) > x+z > w <- c(1,2,1) > x + w

  13. Tipos de objetos: Vetores • Caracteres e Fatores • Caracteres > c1 <- "Hello"  > c2 <- c("Yes",'Maybe',"No") > c3 <- rep("Monkey",4) > c4 <- rep(c("Monkey","Bucket"),3) • Fatores > c5 <- c('M','F','F','F','M','M') > f5 <- as.factor(c5) > levels(f5) > levels(f5) <- c("Female","Male") > alt <- c(175, 184, 180, 182, 176, 174, 169) > sexo <- as.factor(rep(0:1, c(4,3))) > levels(sexo) <- c("homem", "mulher") > table(sexo) > mean(alt) [1] 177.1429 > by(alt, sexo, mean) > ave(alt, sex)

  14. Tipos de objetos: Vetores • Valores Lógicos • gt5 <- x > 5 • Operadores Lógicos > x > 2 & x < 7 • x < 2 | x >7 • "TRUE" e "FALSE" como números... > y <- x > 3 > y*2   > sum(y)

  15. Índices > y <- x[2] > y <- x[c(1,3,5)] > x[4:7] > x[12] Índices Negativos > x[-3] > x[c(3,4,7)] > x[-c(3,4,7)] > x[-length(x)] > x[length(x):1] Índices Lógicos > x <- c(6,5,6,4,4,3,4,2,3,4) > y <- c(5,3,4,2,6,5,4,5,4,3)  > xeq4 <- x == 4 > y[xeq4] > y[x == 4] > x[x > 5] > x <- c(3, 5, 3, 2, 5, 7, 5) > y <- c(23, 21, 20, 12, 20, 30, 29) > x == 5 > y[x == 5] Tipos de objetos: Vetores

  16. Tipos de objetos: Matrizes • Criando Matrizes > x <- 1:12 > xmat <- matrix(x,ncol=3) > matrix(x,ncol=3,byrow=T) > xmat<-matrix(0,2,3) > x <- matrix(10:1,ncol=2) > y <- cbind(x,1:5) > y <- rbind(y,c(99,99,99)) > z <- cbind(y,rep(88,6),y) • Informações sobre a matriz > x1 <- matrix(1:12,ncol=4) > dim(x1) > summary(x1) > summary(as.vector(x1))

  17. Tipos de objetos: Matrizes • Operações com matrizes • Mesmas operações dos vetores > x1 <- matrix(1:6,ncol=2)  > x2 <- matrix(6:1,ncol=3)  > x1 %*% x2  > t(x1)*x2

  18. Tipos de objetos: Matrizes • Índices das matrizes > z[2,5] > z[,4] > z[3,] > z[c(1,3,5),] > z[,5:7] > z[c(2,3),c(4,6)] • Voce pode querer selecionar as pessoas (linhas) que atendem a um certo critério (idade, sexo, etc). Vamos definir uma matrix onde as colunas armazenam: índices 1 a 5, idade e sexo (codificado com 0/1) de cinco pessoas. > people <- cbind(c(1,2,3,4,5),c(43,55,52,23,46),c(1,1,0,1,1)) > oldies <- people[people[,2]>50,] > people[,2] > people[,2]>50 > people[people[,2]>50 , ]

  19. Tipos de objetos: Arrays > ar1<-array(1:24,dim=c(3,4,2)) > ar1[,2:3,] > ar1[2,,1] > sum(ar1[,,1]) > sum(ar1[1:2,,1]) > dimnames(ar1) > dimnames(ar1)<-list(c("Baixo","Médio","Alto"),paste("col",+1:4,sep=""),c("Masculino","Feminino"))

  20. Tipos de objetos: Arrays Veja agora um exemplo de dados já incluído no R no formato de array. > data(Titanic) > Titanic > help(Titanic) Quantas pessoas havia no total? > sum(Titanic) Quantas pessoas havia na tripulação (crew)? > sum(Titanic[4, , , ]) Quantas pessoas sobreviveram e quantas morreram? > apply(Titanic, 4, sum) Quantas crianças sobreviveram? > sum(Titanic[, , 1, 2]) Quais as proporções de sobreviventes entre homens e mulheres? > apply(Titanic, 2, sum) > apply(Titanic[, , , 2], 2, sum) > 100 * apply(Titanic[, , , 2], 2, sum)/apply(Titanic, 2, sum)

  21. Tipos de objetos: Data-frames • Vetores, matrizes e arrays forçam todos os elementos a serem do mesmo "tipo"i.e., ou numérico ou caracter. O "data-frame"é uma estrutura semelhante à uma matriz porém com cada coluna sendo tratada separadamente. > d1 <- data.frame(X = 1:10, Y = c(51, 54, 61, 67, 68, 75, 77, 75, 80, 82)) > names(d1) > d1$X > d1$Y > plot(d1) > plot(d1$X, d1$Y) > d3 <- expand.grid(1:3,4:5) > d4 <- data.frame(X = letters[1:10], Y = c(51, 54, 61, 67, 68, 75, 77, 75,   +     80, 82))

  22. Tipos de objetos: Listas Listas são estruturas genéricas e flexíveis que permitem armazenar diversos formatos em um único objeto.   > lis1 <- list(A = 1:10, B = "THIS IS A MESSAGE", C = matrix(1:9, ncol = 3)) Uma lista é portanto uma coleção de objetos. Para listas há duas opções para se selecionar elementos: colchetes [ ] ou colchetes duplos [[ ]]. Entretanto os resultados retornados por cada um destes é diferente.   > lis1 <- list(nomes = c("Pedro", "Joao", "Maria"), mat = matrix(1:6,nc = 2))  > lis1[1]   > lis1[2]   > lis1[[2]]

  23. Exercícios • http://leg.ufpr.br/~paulojus/embrapa/Rembrapa/Rembrapase6.html#x7-310006.8

More Related