Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Próxima revisão
Revisão anterior
cursos:mct:exemplo5 [2011/05/06 00:44]
paulojus criada
cursos:mct:exemplo5 [2011/05/27 19:00] (atual)
paulojus
Linha 1: Linha 1:
 ====== Miscelânia de tópicos ====== ====== Miscelânia de tópicos ======
  
-<​fs ​small>Um breve exemplo de operações matriciais - coeficientes de regressao(modelo) linear +<​fs ​medium>Ordenação</fs> 
-</​fs><​code R> +<code R> 
-require(MASS+x <- rpois(10, lam=10
-data(hills+
-names(hills+sort(x
-X <- cbind(1, hills$dist+order(x
-y <- hills$time +x[order(x)] 
- +x[rev(order(x))
-## Há formas e formas de fazer operações... +args(order
- +order(xdecreasing=T)
-## uma forma não muito adequada: +
-solve(t(X%*% X%*% t(X%*% y +
- +
-## outra melhor: +
-solve(crossprod(X)crossprod(X,​ y)+
 </​code>​ </​code>​
  
  
-<​fs ​small>​Representação e Manipulação de datas</​fs>​+<​fs ​medium>​Representação e Manipulação de datas</​fs>​
 <code R> <code R>
-Sys.time()+## transformando caracteres em datas 
 +dt1 <- as.Date("​4/​02/​2011 03:​24:​13",​ "​%d/​%m/​%Y %H:​%M:​%S"​) 
 +dt1 
 +## exibindo a data de otras formas 
 +format(dt1, "​%j"​) ​   # dia do ano 
 +format(dt1, "​%A"​) ​   # dia da semana 
 +format(dt1, "​%c"​) ​   # referencia completa (de acordo com o locale do sistema) 
 +format(dt1, "​%m"​) ​   # número do mes
  
-format(as.Date("​4/​02/​2011 03:24:​13",​ "​%d/​%m/​%Y %H:​%M:​%S"​),​ "​%j"​) +## opcoes disponíveis para exibição:
-format(as.Date(Sys.time(),​ "​%d/​%m/​%Y %H:​%M:​%S"​),​ "​%j"​)+
 # a A b B c d H I j m M p S U w W x X y Y z Z # a A b B c d H I j m M p S U w W x X y Y z Z
  
-x <- c("1jan1960", "2jan1960", "31mar1960", "30jul1960")+Sys.time() 
 +format(as.Date(Sys.time(),​ "​%d/​%m/​%Y %H:​%M:​%S"​),​ "​%j"​) 
 + 
 +## as datas podem ser fornecidas de outras maneiras... 
 +x <- c("25set1967", "28set1969", "30jan2003", "05jul2004")
 z <- strptime(x, "​%d%b%Y"​) z <- strptime(x, "​%d%b%Y"​)
 z z
  
 +##
 +## Ver detalhes aqui!!! ​
 +##
 +## e note a confusão com a omisão do século !!!
 +x <- c("​1jan90",​ "​2jan90",​ "​31mar90",​ "​30jul90"​)
 +z <- strptime(x, "​%d%b%y"​)
 +z
 +x <- c("​25set67",​ "​28set69",​ "​30jan03",​ "​05jul04"​)
 +z <- strptime(x, "​%d%b%y"​)
 +z
 +
 +## concatenando datas e horarios para formar registros únicos
 dates <- c("​02/​27/​92",​ "​02/​27/​92",​ "​01/​14/​92",​ "​02/​28/​92",​ "​02/​01/​92"​) dates <- c("​02/​27/​92",​ "​02/​27/​92",​ "​01/​14/​92",​ "​02/​28/​92",​ "​02/​01/​92"​)
 times <- c("​23:​03:​20",​ "​22:​29:​56",​ "​01:​03:​30",​ "​18:​21:​03",​ "​16:​56:​26"​) times <- c("​23:​03:​20",​ "​22:​29:​56",​ "​01:​03:​30",​ "​18:​21:​03",​ "​16:​56:​26"​)
Linha 36: Linha 53:
 strptime(x, "​%m/​%d/​%y %H:​%M:​%S"​) strptime(x, "​%m/​%d/​%y %H:​%M:​%S"​)
  
-## fracoes ​de segundos+dt2 <- strptime(x, "​%m/​%d/​%y %H:​%M:​%S"​) 
 +format(dt2, "​%c"​) 
 + 
 +dt2 <- sort(dt2) 
 +dt2 
 + 
 +diff(dt2) 
 + 
 +## frações ​de segundos
 z <- strptime("​20/​2/​06 11:​16:​16.683",​ "​%d/​%m/​%y %H:​%M:​%OS"​) z <- strptime("​20/​2/​06 11:​16:​16.683",​ "​%d/​%m/​%y %H:​%M:​%OS"​)
  
Linha 43: Linha 68:
 </​code>​ </​code>​
  
-<​fs ​small>Lendo dados da área de transferência</fs>+<​fs ​medium>Precisão numérica/​ponto flutuante</fs> 
 + 
 +Encontrando dados replicados, e não replicados
 <code R> <code R>
-s1 <- scan()+<- rpois(25, lam=5) 
 +
 +unique(x)
  
-12  13  14  ​ +duplicated(x) 
-21  21  14  ​ +x[!duplicated(x)] 
-12  31  25 +x[duplicated(x)] 
-15  32  29+</​code>​
  
-s1 <- scan("​clipboard"​)+Representação de números e ponto flutuante.\\ 
 +''​isTRUE''​ deve se usado para testar condições dentro de funções. 
 +<code R> 
 +.1 == .3/3 
 +all.equal(.1, .3/3) 
 +isTRUE(all.equal(0.1,​ .3/3)) 
 +identical(.1,​ .3/3) 
 +</​code>​
  
-d1 <- read.table("​clipboard"​) +Mais coisas que deveriam ser iguais... mas não exatamente são ... 
-d1+<code R> 
 +seq(0, 1, by=0.1== 0.3
  
 +x <- c(.3, 0.4 - 0.1, 0.5 - 0.2, 0.6 - 0.3, 0.7 - 0.4)
 +x
 +unique(x)
 +</​code>​
  
-## +Um exemplo com uma função ​para resolver equação do 2o grau: 
-## exemplos de leitura e manipulacao ​para ajustes +<code R> 
-## +eq2g <function(a, b, c){ 
-## site MCT --> ​indicadores ​+ delta <b^2 - 4 * a * c 
 + if(is.complex(delta) || all(delta ​0)) 
 +    delta <- sqrt(delta) 
 + else 
 +    delta <- sqrt(as.complex(delta)) 
 + return(cbind(-b + c(-1,1) * delta)/​(2*a)) 
 +}
  
-## Producao cientificatabela ​5.1 (pesquisadores)+print(eq2g(1-5, 6), dig=16)
  
-pcPesq <- read.table("​clipboard"​sep="​\t"​dec=","​) +eq2g(1c(-51), 6)
-head(pcPesq)+
  
-pcPesq <- read.table("​clipboard"​sep="​\t"​dec=",",​ strip.white=T,​ as.is=T) +eq2g(1-56- c(2, 3)
-head(pcPesq)+
  
-str(pcPesq)+eq2g(1/3, -5/3, 6/3)
  
-ptMil <- function(x) +print(eq2g(1/3, -5/3, 6/3), dig=16
- if(!is.numeric(x& !is.integer(x)) return(as.numeric(gsub("​\\.",​ "",​ x))) + 
-        else return(x) +eq2g(1/3, -5/3, 6/3) - c(2, 3) 
-+</​code>​ 
-pcPesq ​<- as.data.frame(lapply(pcPesqptMil))+ 
 + 
 +<fs medium>​Objetos crescentes, substituição der valores e criação direta de vetores</​fs>​ 
 + 
 +Os tempos de execução podem ser substancialmetne diferentes!
 +<code R> 
 +n<- 50000 
 + 
 +system.time({ 
 +vec <- numeric(0) 
 +for(i in 1:nvec <- c(vec, i) 
 +}) 
 + 
 +system.time({ 
 +vec <- numeric(n) 
 +for(i in 1:nvec[i] <- i 
 +}
 + 
 +system.time(
 +vec <- 1:n 
 +}) 
 +</​code>​ 
 + 
 +Onderm de operações 
 +<code R> 
 +<- rnorm(10000m=100, sd=10)
  
-## Dados socio economicos --> 9.1 +system.time({ 
-ScEc <- read.table("​clipboard",​ dec=",",​ sep="​\t",​ na.strings="​\\u2026 "+ lsum <- 
-head(ScEc)+ for(i in 1:length(x)){ 
 +   lsum <- lsum + log(x[i]) 
 +  } 
 + })
  
-ScEc <- as.data.frame(lapply(pcPesq, ptMil))+system.time(lsum ​<- sum(log(x)))
  
 +c(log(12.3),​ log(16.7), log(18.3))
 +log(c(12.3, 16.7, 18.3))
 </​code>​ </​code>​

QR Code
QR Code cursos:mct:exemplo5 (generated for current page)