Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
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) | ||
+ | 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[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> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||