Essa é uma revisão anterior do documento!
Comandos mostrados nas aulas do curso (2008)
Semana 1
27/02/2008
Quatro formas alternativas de entrada de dados de 0 a 10.
x <- c(0, 1, 2, 3, 4, 5 ,6, 7, 8, 9, 10) x x <- 0:10 x x <- seq(0,10, by=1) x <- scan() 1: 0 2: 1 ... 10: 9 11: 10 12:
Extendendo as possibilidades
seq(0,1, by=0.1) (0:10)/10 2*(0:10) seq(0,20,by=2) 10:0 seq(10,0, by=-1)
Selecionando indivíduos pela sua posição (indexando valores de um vetor). Note que comandos a seguir somente mostram resultados sem alterar x
x[1] x[4] x[1:3] x[5:8] x[c(2, 5, 7]) x
Selecionando valores do vetor segundo outros critérios. Nos comandos a seguir o objeto original não é alterado.
pesos <- c(67, 83, 56, 91, 58, 47, 82, 75) pesos[pesos > 80] pesos[pesos < 50 | pesos > 80] pesos[pesos > 50 & pesos < 80]
Substituindo valores de um vetor. Note que comandos alteram valores do vetor.
x[1:3] <- c(0, 10, 20) x pesos pesos[4] pesos[4] <- 81 pesos pesos[pesos > 80] pesos[pesos > 80] <- 85 pesos pesos[pesos > 80] <- NA pesos pesos[is.na(pesos)] <- 90 pesos
Identificando as posições dos elementos que satisfazem certo critério.
pesos which(pesos == 56) which(pesos == 90) which(pesos < 70)
Amostrando valores de um vetor. Note uso do rep
para definir amostra com reposição. args()
mostra os argumentos da função.
dados <- c(34, 28, 31, 32, 43, 40, 45, 39, 26, 29) sample(dados, 3) sample(dados, 3) sample(dados, 3, rep=TRUE) args(sample)
Ordenando valores
dados sort(dados) rev(sort(dados)) sort(dados, decreasing=T)
Acrescentando elementos e concatenando dois ou mais vetores
x <- 0:10 x x <- c(x, 11) x x1 <- c(51:60, 101:110) x1 x2 <- c(x, c(15, 18, 21, 15, 30)) x2 x3 <- c(x2, x1) x3 c(1:10, seq(21, 50, by=2), c(100, 110, 150))
Semana 2
03/03/2008
Operadores aritméticas e funções para operações aritméticas, prioridade de operações, uso de parêntesis.
x <- 0:10 px <- choose(10, x) * (0.3)^x * (1-0.3)^(10-x) px
Gráficos
plot(x, px) # ver gráfico plot(x, px, type="h") # ver gráfico
Funções relacionadas a distribuições de probabilidades
px <- dbinom(x, 10, 0.3) px
Gráfico da função acumulada
Fx <- pbinom(x, 10, 0.3) Fx cumsum(px) # note que soma acumulada de dbinom() fornece mesmo resultado que pbinom() plot(x, Fx, type="s")
Lei da reciclagem (recycling rule) – válida para as operações aritméticas
2 * x (0.3)^x x1 <- c(2, 5, 7, 8) x1 x2 <- c(10, 20) x2 x1 + x2 x2 + x1 x3 <- (1:3)*10 x3 x1 + x3 x3 + x1 x2 + x3 x3 + x2 x1 * x2 x1 * x2 exp(x1) + log(x2)
Argumentos de funções: ordem dos argumentos, nomes dos argumentos, casamento parcial de nomes, argumentos com default
args(dbinom) dbinom(x, 10, 0.3) dbinom(x=x, size=10, prob=0.3) dbinom(prob=0.3, x=x, size=10) dbinom(size=10, prob=0.3, x=x) dbinom(x, s=10, p=0.3) dbinom(x, p=0.3, s=10) dbinom(x, p=0.3, s=10) dbinom(x, 10, 0.3, log=F) dbinom(x, 10, 0.3, log=T)
05/03/2008
Verificando máximos, mínimos e suas posições em um vetor.
pesos <- c(67, 83, 56, 91, 58, 47, 82, 75) max(pesos) min(pesos) which(pesos == max(pesos)) which.max(pesos) which(pesos == min(pesos)) which.min(pesos)
Testando pela ocorrência de NA
. Note o uso do caracter de negação !
dat <- c(43, 56, NA, 23, 48, 33, NA, 29, 33, 39) is.na(dat) !is.na(dat) which(is.na(dat)) which(!is.na(dat)) dat1 <- dat[!is.na(dat)]
Semana 3
10/03/2008
Outras funções de probabilidades
args(dchisq) args(dt)
Algumas contantes e operadores
exp(1) exp(3) print(pi, dig=12) print(pi, dig=12) pi options(digits=12) pi exp(1)
Examinar opções de options()
options()
12/03/2008
Funções para verificar exitência de NA
's NaN
's e valores infinitos (Inf
)
x <- c(5, 0, -2) x/0 is.nan(x/0) is.finite(x/0) !is.finite(x/0)
Explicações sobre como o R armazana objetos (RAM e/ou dispositivos como por exemplo o HD)
save.image() q()
Listando e apagando objetos
ls() objects() rm(x) rm(list=ls()) args(ls) ls() ls(all=T)
Tipos de objetos no R: matrizes
x <- 1:24 x m <- matrix(x, nr=6) m m <- matrix(x, nr=6, byrow=T) m x <- 1:25 m <- matrix(x, nr=6) m attributes(x) attributes(m)
Tipos de objetos no R: arrays
x <- 1:24 a <- array(x, dim=c(4,3,2)) a
Digitação e conversão de uma tabela de tripla entrada (dada no quadro durante a aula) em um objeto do tipo array
PR | SC | RS | ||||
Masculino | Feminino | Masculino | Feminino | Masculino | Feminino | |
---|---|---|---|---|---|---|
Não Fuma | 45 | 16 | 21 | 33 | 40 | 45 |
Fuma pouco | 28 | 22 | 34 | 21 | 50 | 37 |
Fuma muito | 37 | 15 | 56 | 30 | 85 | 29 |
Comentários sobre ordem de entrada dos dados, cliclagem das variáveis e definição das dimensões do array
freqs <- scan() 1: 45 2: 28 3: 37 4: 16 5: 22 6: 15 7: 21 8: 34 9: 56 10: 33 11: 21 12: 30 13: 40 14: 50 15: 85 16: 45 17: 37 18: 29 19: freqs Af <- array(freqs, dim=c(3,2,3)) Af