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/26 23:21] paulojuscursos:mct:exemplo1b [2011/05/27 19:18] (atual) paulojus
Linha 58: Linha 58:
 Lendo as dados com colunas de tamanho definido Lendo as dados com colunas de tamanho definido
 <code R> <code R>
-foo <- read.fwf("dados/exFWF.txt", wid=c(2,3,6,2))+foo <- read.fwf("exFWF.txt", wid=c(2,3,6,2))
 foo foo
 </code> </code>
Linha 65: Linha 65:
 Isto permite selecionar somente o que se quer ler. Isto permite selecionar somente o que se quer ler.
 <code R> <code R>
-read.fwf("dados/exFWF.txt", wid=c(2,-3,6,2))+read.fwf("exFWF.txt", wid=c(2,-3,6,2))
 </code> </code>
  
Linha 81: Linha 81:
 foo2 <- sapply(foo1, function(x) sum(as.numeric(x))) foo2 <- sapply(foo1, function(x) sum(as.numeric(x)))
 foo2 foo2
-read.fwf("dados/exFWF.txt", wid=foo2)+read.fwf("exFWF.txt", wid=foo2)
 </code> </code>
  
Linha 113: Linha 113:
 } }
  
-read.meudado("dados/exFWF.txt", formato = DEC)+read.meudado("exFWF.txt", formato = DEC)
 </code> </code>
  
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("dados/exFWF-3.txt", formato = DEC1, skip=2)+read.meudado("exFWF-3.txt", formato = DEC1, skip=2
 +</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) 
 +
 +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> </code>
  

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