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:24] paulojuscursos:mct:exemplo1b [2011/05/27 19:18] (atual) paulojus
Linha 146: Linha 146:
 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)