Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior Próxima revisão Ambos lados da revisão seguinte | ||
disciplinas:ce223:comandos2008 [2008/03/19 15:02] ehlers |
disciplinas:ce223:comandos2008 [2008/03/26 17:42] paulojus |
||
---|---|---|---|
Linha 341: | Linha 341: | ||
colSums(m1) | colSums(m1) | ||
+ | </code> | ||
- | #operacoes com matrizes | + | Operacoes com matrizes |
+ | <code R> | ||
m4 <- matrix(1:6, nc = 3) | m4 <- matrix(1:6, nc = 3) | ||
m5 <- matrix(10 * (1:6), nc = 3) | m5 <- matrix(10 * (1:6), nc = 3) | ||
Linha 377: | Linha 378: | ||
</code> | </code> | ||
- | <code R> | ||
- | 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: | ||
- | </code> | ||
- | |||
- | Extendendo as possibilidades | ||
- | <code R> | ||
- | seq(0,1, by=0.1) | ||
- | (0:10)/10 | ||
- | |||
- | 2*(0:10) | ||
- | seq(0,20,by=2) | ||
- | |||
- | 10:0 | ||
- | seq(10,0, by=-1) | ||
- | </code> | ||
- | |||
- | Selecionando indivíduos pela sua posição (indexando valores de um vetor). Note que comandos a seguir somente mostram resultados sem alterar //x// | ||
- | <code R> | ||
- | x[1] | ||
- | x[4] | ||
- | x[1:3] | ||
- | x[5:8] | ||
- | x[c(2, 5, 7]) | ||
- | x | ||
- | </code> | ||
- | |||
- | Selecionando valores do vetor segundo outros critérios. Nos comandos a seguir o objeto original não é alterado. | ||
- | <code R> | ||
- | pesos <- c(67, 83, 56, 91, 58, 47, 82, 75) | ||
- | pesos[pesos > 80] | ||
- | pesos[pesos < 50 | pesos > 80] | ||
- | pesos[pesos > 50 & pesos < 80] | ||
- | </code> | ||
- | |||
- | |||
- | Substituindo valores de um vetor. Note que comandos alteram valores do vetor. | ||
- | <code R> | ||
- | 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 | ||
- | </code> | ||
- | |||
- | Identificando as posições dos elementos que satisfazem certo critério. | ||
- | <code R> | ||
- | pesos | ||
- | which(pesos == 56) | ||
- | which(pesos == 90) | ||
- | which(pesos < 70) | ||
- | </code> | ||
- | |||
- | Amostrando valores de um vetor. Note uso do ''rep'' para definir amostra com reposição. ''args()'' mostra os argumentos da função. | ||
- | <code R> | ||
- | 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) | ||
- | </code> | ||
- | |||
- | Ordenando valores | ||
- | <code R> | ||
- | dados | ||
- | sort(dados) | ||
- | rev(sort(dados)) | ||
- | sort(dados, decreasing=T) | ||
- | </code> | ||
- | |||
- | Acrescentando elementos e concatenando dois ou mais vetores<code R> | ||
- | 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)) | ||
- | </code> | ||
- | |||
- | ==== Semana 2 ==== | ||
- | === 03/03/2008 === | ||
- | |||
- | Operadores aritméticas e funções para operações aritméticas, prioridade de operações, uso de parêntesis. | ||
- | <code R> | ||
- | x <- 0:10 | ||
- | px <- choose(10, x) * (0.3)^x * (1-0.3)^(10-x) | ||
- | px | ||
- | </code> | ||
- | |||
- | Gráficos | ||
- | <code R> | ||
- | plot(x, px) # ver gráfico | ||
- | plot(x, px, type="h") # ver gráfico | ||
- | </code> | ||
- | |||
- | Funções relacionadas a distribuições de probabilidades | ||
- | <code R> | ||
- | px <- dbinom(x, 10, 0.3) | ||
- | px | ||
- | </code> | ||
- | |||
- | Gráfico da função acumulada | ||
- | <code R> | ||
- | 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") | ||
- | </code> | ||
- | |||
- | Lei da reciclagem (//recycling rule//) -- válida para as operações aritméticas | ||
- | <code R> | ||
- | 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) | ||
- | </code> | ||
- | |||
- | Argumentos de funções: ordem dos argumentos, nomes dos argumentos, casamento parcial de nomes, argumentos com //default// | ||
- | <code R> | ||
- | 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) | ||
- | </code> | ||
- | |||
- | === 05/03/2008 === | ||
- | |||
- | Verificando máximos, mínimos e suas posições em um vetor.<code R> | ||
- | 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) | ||
- | </code> | ||
- | |||
- | Testando pela ocorrência de ''NA''. Note o uso do caracter de negação ''!'' <code R> | ||
- | 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)] | ||
- | </code> | ||
- | |||
- | ==== Semana 3 ==== | ||
- | === 10/03/2008 === | ||
- | |||
- | Outras funções de probabilidades<code R> | ||
- | args(dchisq) | ||
- | args(dt) | ||
- | </code> | ||
- | |||
- | Algumas contantes e operadores<code R> | ||
- | exp(1) | ||
- | exp(3) | ||
- | print(pi, dig=12) | ||
- | print(pi, dig=12) | ||
- | pi | ||
- | options(digits=12) | ||
- | pi | ||
- | exp(1) | ||
- | </code> | ||
- | |||
- | Examinar opções de ''options()''<code R> | ||
- | options() | ||
- | </code> | ||
- | |||
- | |||
- | === 12/03/2008 === | ||
- | |||
- | Funções para verificar exitência de ''NA'''s ''NaN'''s e valores infinitos (''Inf'') <code R> | ||
- | x <- c(5, 0, -2) | ||
- | x/0 | ||
- | is.nan(x/0) | ||
- | is.finite(x/0) | ||
- | !is.finite(x/0) | ||
- | </code> | ||
- | |||
- | Explicações sobre como o R armazana objetos (RAM e/ou dispositivos como por exemplo o HD)<code R> | ||
- | save.image() | ||
- | q() | ||
- | </code> | ||
- | |||
- | Listando e apagando objetos | ||
- | <code R> | ||
- | ls() | ||
- | objects() | ||
- | rm(x) | ||
- | rm(list=ls()) | ||
- | args(ls) | ||
- | ls() | ||
- | ls(all=T) | ||
- | </code> | ||
- | |||
- | Tipos de objetos no R: matrizes | ||
- | <code R> | ||
- | 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) | ||
- | </code> | ||
- | |||
- | Tipos de objetos no R: arrays | ||
- | <code R> | ||
- | x <- 1:24 | ||
- | a <- array(x, dim=c(4,3,2)) | ||
- | a | ||
- | </code> | ||
- | |||
- | 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<code R> | ||
- | 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 | ||
- | </code> | ||
- | |||
- | ==== Semana 4 ==== | ||
=== 19/03/2008 === | === 19/03/2008 === | ||
Data frames | Data frames | ||
Linha 718: | Linha 420: | ||
is.factor(d2$lev) | is.factor(d2$lev) | ||
+ | </code> | ||
- | # Aplicando uma funcao a um Data Frame separando por fatores | + | Aplicando uma funcao a um Data Frame separando por fatores |
+ | <code R> | ||
by(d2$Y, d2$lev, summary) | by(d2$Y, d2$lev, summary) | ||
+ | </code> | ||
- | # Criando um Data Frame a partir de todas as combinacoes de 2 fatores. | + | Criando um Data Frame a partir de todas as combinacoes de 2 fatores. |
+ | <code R> | ||
d3 = expand.grid(1:3, 4:5) | d3 = expand.grid(1:3, 4:5) | ||
d3 | d3 | ||
is.data.frame(d3) | is.data.frame(d3) | ||
+ | </code> | ||
- | # Adicionando colunas | + | Adicionando colunas |
+ | <code R> | ||
d4 = data.frame(peso=rnorm(15,65,5),altura=rnorm(15,160,10)) | d4 = data.frame(peso=rnorm(15,65,5),altura=rnorm(15,160,10)) | ||
d4 | d4 | ||
Linha 737: | Linha 442: | ||
d4=cbind(d4,sexo=c(rep('M',10),rep('F',5))) | d4=cbind(d4,sexo=c(rep('M',10),rep('F',5))) | ||
d4 | d4 | ||
+ | </code> | ||
- | # Toda coluna que não seja composta exclusivamente de números é definida como um fator. | + | Toda coluna que não seja composta exclusivamente de números é definida como um fator. |
+ | <code R> | ||
is.factor(d4$sexo) | is.factor(d4$sexo) | ||
[1] TRUE | [1] TRUE | ||
Linha 777: | Linha 483: | ||
Listas | Listas | ||
<code R> | <code R> | ||
- | #Listas sao estruturas genericas e flexiveis que permitem armazenar | + | |
- | #diversos formatos em um unico objeto. | + | Listas sao estruturas genericas e flexiveis que permitem armazenar |
+ | diversos formatos em um unico objeto. | ||
lis1 <- list(A = 1:10, B = "CE 223", C = matrix(1:9,ncol = 3)) | lis1 <- list(A = 1:10, B = "CE 223", C = matrix(1:9,ncol = 3)) | ||
Linha 794: | Linha 501: | ||
[2,] 2 5 8 | [2,] 2 5 8 | ||
[3,] 3 6 9 | [3,] 3 6 9 | ||
+ | </code> | ||
- | #Varias funcoes do R retornam listas | + | Varias funcoes do R retornam listas |
+ | <code R> | ||
d1 | d1 | ||
Linha 820: | Linha 528: | ||
plot(lis2) | plot(lis2) | ||
+ | </code> | ||
- | #Selecionando elementos de uma lista | + | Selecionando elementos de uma lista |
+ | <code R> | ||
lis1$A | lis1$A | ||
Linha 831: | Linha 540: | ||
lis1[[3]] | lis1[[3]] | ||
+ | </code> | ||
+ | |||
+ | ==== Semana 5 ==== | ||
+ | |||
+ | === 24/03/2008 === | ||
+ | |||
+ | <code R> | ||
+ | N<- rpois(10000, lambda=15) | ||
+ | Pr<- rexp(10000, rate=1/50000) | ||
+ | Y<- N*Pr | ||
+ | q99 <- quantile(Y, prob=0.99) | ||
+ | hist(Y) | ||
+ | |||
+ | |||
+ | hist(Y, prob=T) | ||
+ | lines(density(Y)) | ||
+ | plot(density(Y)) | ||
+ | abline(v=q99) | ||
+ | |||
+ | |||
+ | hy<- hist(Y) | ||
+ | hy | ||
+ | class(hy) | ||
+ | plot(hy) | ||
+ | hist | ||
+ | </code> | ||
+ | |||
+ | Criando função: | ||
+ | |||
+ | <code R> | ||
+ | mf<- function(n,lam,r,q){ | ||
+ | N<-rpois(n,lambda=lam) | ||
+ | Pr<-rexp(n,rate=r) | ||
+ | Y<-N*Pr | ||
+ | qq <- quantile(Y,prob=q) | ||
+ | hist(Y,prob=T) | ||
+ | lines(density(Y)) | ||
+ | abline(v=qq) | ||
+ | text("topright", paste("quantil", q, "=", qq)) | ||
+ | return(invisible(qq)) | ||
+ | } | ||
+ | |||
+ | mf(10000, 15, 1/50000, 0.99) | ||
+ | resp<- mf(10000,15, 1/50000, 0.99) | ||
+ | resp | ||
</code> | </code> |