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

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
cursos:mct:exemplo1b [2011/05/26 23:22]
paulojus
cursos:mct:exemplo1b [2011/05/27 19:18] (atual)
paulojus
Linha 141: Linha 141:
 </​code>​ </​code>​
  
-Lendo com a função, note o uso do mecanismo de ''​...''​ para passar argumentos para ''​read.fwf()''​+Lendo com a função, note o uso do mecanismo de ''​ . . . ''​ para passar argumentos para ''​read.fwf()''​
  
 <code R> <code R>
 read.meudado("​exFWF-3.txt",​ formato = DEC1, skip=2) read.meudado("​exFWF-3.txt",​ formato = DEC1, skip=2)
 </​code>​ </​code>​
 +
 +===== Dados reais da Regina =====
 +Lendo arquivo descritor
 +<code R>
 +desc <- read.table("​dados/​11CRDDI.ref.txt",​ as.is=T)
 +desc
 +desc$V3
 +
 +desc$V4 <- ifelse(desc$V2 == "​A",​ "​character",​ "​integer"​)
 +desc
 +desc$V4[grep("​\\,",​ desc$V3)] <- "​numeric"​
 +desc
 +</​code>​
 +
 +Lendo os dados usando nossa função.
 +<code R>
 +Regina <- read.meudado("​dados/​11CRDDI.txt",​ formato = desc$V3, as.is=T )
 +#, skip=2, n=20)
 +Regina
 +
 +## algumas operacoes uteis:
 +which(grepl("​\\,",​ desc$V3))
 +which(desc$V4=="​integer"​)
 +which(grepl("​CREDITO",​ desc$V1))
 +Regina[,​which(grepl("​CREDITO",​ desc$V1))]
 +apply(Regina[,​which(grepl("​CREDITO",​ desc$V1))], 1, sum)
 +
 +## colocar aqui os nome dasd variaveis trabalhado/​cortado etc
 +#​names(Regina) <- desc$V1
 +
 +Regina$V29
 +as.Date(as.character(Regina$V29),​ "​%Y%m%d"​)
 +
 +Regina$V29 <- as.Date(as.character(Regina$V29),​ "​%Y%m%d"​)
 +
 +Regina <- read.meudado("​dados/​11CRDDI.txt",​ formato = desc$V3, as.is=T, skip=2, n=15)
 +Regina
 +</​code>​
 +
 +Queremos ordenar os dados por data. Antes uma revisão sobre ordenação.
 +<code R>
 +x <- rpois(10, lam=10)
 +x
 +sort(x)
 +order(x)
 +x[order(x)]
 +x[rev(order(x))]
 +args(order)
 +order(x, decreasing=T)
 +</​code>​
 +
 +Agora de volta aos  dados
 +<code R>
 +Regina <- Regina[order(Regina$V29),​]
 +Regina
 +Regina[, c("​V7","​V8","​V9","​V29"​)]
 +aggregate(V7+V8+V9 ~ V29, FUN=sum, data=Regina)
 +
 +## algumas manipulacoes
 +Regina[,​c(7,​8,​9,​29)]
 +
 +aggregate(. ~ V29, data=Regina[,​c(7,​8,​9,​29)],​ FUN=sum)
 +aggregate(V7+V8 ~ V29, data=Regina[,​c(7,​8,​9,​29)],​ FUN=sum)
 +aggregate(cbind(V7,​V8) ~ V29, data=Regina[,​c(7,​8,​9,​29)],​ FUN=sum)
 +</​code>​
 +
 +
 +===== Um pequeno exemplo de análises automáticas =====
 +
 +Suponha que voce tem um diretório (pasta) com alguns arquivos que devem ser lidos e processados por análises\\
 +
 +Vamos supor aqui o diretório ''​Regina''​ com arquivos com o seguinte conteúdo que supomos ser o mês e a despesa:\\
 +<​code>​
 +dir.create("​Regina"​)
 +cat(
 +"​12 ​ 23,10 \n",
 +"​12 ​ 20,70 \n",
 +"​10 ​ 12,10 \n",
 +"​10 ​ 8,13  \n",
 + file = "​Regina/​arq1.txt"​)
 +
 +cat(
 +"​09 ​ 33,10 \n",
 +"​09 ​ 50,70 \n",
 +"​10 ​ 22,10 \n",
 +"​10 ​ 18,13 \n",
 + file = "​Regina/​arq2.txt"​)
 +</​code>​
 +
 +Para cada um dos arquivos queremos:​\\ ​
 +(i) ler os dados, (ii) calcular a  despesa total por mês, (iii) colocar os resultados em uma página ''​html''​.
 +
 +<code R>
 +arquivos <- dir("​Regina",​ full.names=T)
 +arquivos
 +
 +names(arquivos) <- c("​MCT",​ "​MEC"​)
 +arquivos
 +
 +resumo1 <- function(x){
 +    gastos <- read.table(x,​ dec=",",​ head=F)
 +    names(gastos) <- c("​Mes",​ "​Despesa"​)
 +    totM <- aggregate(Despesa ~ Mes, FUN = sum, data=gastos)
 +    return(totM)
 +    }
 +
 +res <- lapply(arquivos,​ resumo1)
 +res
 +
 +require(R2HTML)
 +saida <- HTMLInitFile("​./",​filename="​regina",​ BackGroundColor="#​BBBBEE"​)
 +HTML.title("​Exemplo simples de automatizacao de analise",​ file=saida)
 +HTML("<​br>​Use um arquivo CSS para configurar a pagina!!!",​file=saida)
 +lapply(res, HTML, file=saida)
 +HTMLEndFile()
 +</​code>​
 +
 +
 +
 +
 +
  

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