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 anteriorRevisão anterior
Próxima revisão
Revisão anterior
cursos:mct:exemplo1b [2011/05/27 00:29] paulojuscursos: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)