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
Última revisão Ambos lados da revisão seguinte
cursos:mct:exemplo5 [2011/05/06 00:44]
paulojus criada
cursos:mct:exemplo5 [2011/05/27 18:58]
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>Representação e Manipulação ​de datas</fs> 
-</​fs><​code R> +<code R> 
-require(MASS+## transformando caracteres em datas 
-data(hills+dt1 <- as.Date("​4/​02/​2011 03:​24:​13",​ "​%d/​%m/​%Y %H:​%M:​%S"​
-names(hills+dt1 
-X <- cbind(1hills$dist+## exibindo a data de otras formas 
-y <- hills$time+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
  
-## Há formas e formas de fazer operações... +## opcoes disponíveis para exibição
- +a A b B c d H I j m M p S U w W x X y Y z Z
-## uma forma não muito adequada: +
-solve(t(X) %*% X) %*% t(X) %*% y +
- +
-## outra melhor: +
-solve(crossprod(X), crossprod(X, ​y))  +
-</​code>​+
  
- 
-<fs small>​Representação e Manipulação de datas</​fs>​ 
-<code R> 
 Sys.time() Sys.time()
- 
-format(as.Date("​4/​02/​2011 03:​24:​13",​ "​%d/​%m/​%Y %H:​%M:​%S"​),​ "​%j"​) 
 format(as.Date(Sys.time(),​ "​%d/​%m/​%Y %H:​%M:​%S"​),​ "​%j"​) 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 
  
-x <- c("1jan1960", "2jan1960", "31mar1960", "30jul1960")+## 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 40:
 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 55:
 </​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)