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/27 00:29]
paulojus
cursos:mct:exemplo1b [2011/05/27 19:18] (atual)
paulojus
Linha 147: Linha 147:
 </​code>​ </​code>​
  
-<fs large>​Exemplo dados Regina</fs> +===== Dados reais da Regina ​===== 
 +Lendo arquivo descritor
 <code R> <code R>
-## dados da Regina 
- 
 desc <- read.table("​dados/​11CRDDI.ref.txt",​ as.is=T) desc <- read.table("​dados/​11CRDDI.ref.txt",​ as.is=T)
 desc desc
 desc$V3 desc$V3
  
-Regina <- read.meudado("​dados/​11CRDDI.txt",​ formato = desc$V3, skip=2, n=20)+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 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 Regina$V29
Linha 164: Linha 181:
 Regina$V29 <- as.Date(as.character(Regina$V29),​ "​%Y%m%d"​) Regina$V29 <- as.Date(as.character(Regina$V29),​ "​%Y%m%d"​)
  
-## ordenando o data-frame por data+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) 
 +
 +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[order(Regina$V29),​]
 Regina Regina
 +Regina[, c("​V7","​V8","​V9","​V29"​)]
 aggregate(V7+V8+V9 ~ V29, FUN=sum, data=Regina) aggregate(V7+V8+V9 ~ V29, FUN=sum, data=Regina)
  
Linha 176: Linha 211:
 aggregate(cbind(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>​ </​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)