Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Ambos lados da revisão anteriorRevisão anteriorPró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: | ||
| </ | </ | ||
| - | <fs large> | + | ===== Dados reais da Regina |
| + | Lendo arquivo descritor | ||
| <code R> | <code R> | ||
| - | ## dados da Regina | ||
| - | |||
| desc <- read.table(" | desc <- read.table(" | ||
| desc | desc | ||
| desc$V3 | desc$V3 | ||
| - | Regina <- read.meudado(" | + | desc$V4 <- ifelse(desc$V2 == " |
| + | desc | ||
| + | desc$V4[grep(" | ||
| + | desc | ||
| + | </ | ||
| + | |||
| + | Lendo os dados usando nossa função. | ||
| + | <code R> | ||
| + | Regina <- read.meudado(" | ||
| + | #, skip=2, n=20) | ||
| Regina | Regina | ||
| + | |||
| + | ## algumas operacoes uteis: | ||
| + | which(grepl(" | ||
| + | which(desc$V4==" | ||
| + | which(grepl(" | ||
| + | Regina[, | ||
| + | apply(Regina[, | ||
| + | |||
| + | ## colocar aqui os nome dasd variaveis trabalhado/ | ||
| + | # | ||
| Regina$V29 | Regina$V29 | ||
| Linha 164: | Linha 181: | ||
| Regina$V29 <- as.Date(as.character(Regina$V29), | Regina$V29 <- as.Date(as.character(Regina$V29), | ||
| - | ## ordenando o data-frame por data | + | Regina <- read.meudado(" |
| + | Regina | ||
| + | </ | ||
| + | |||
| + | 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) | ||
| + | </ | ||
| + | |||
| + | Agora de volta aos dados | ||
| + | <code R> | ||
| Regina <- Regina[order(Regina$V29), | Regina <- Regina[order(Regina$V29), | ||
| Regina | Regina | ||
| + | Regina[, c(" | ||
| 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, | aggregate(cbind(V7, | ||
| </ | </ | ||
| + | |||
| + | |||
| + | ===== 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 '' | ||
| + | < | ||
| + | dir.create(" | ||
| + | cat( | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | file = " | ||
| + | |||
| + | cat( | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | file = " | ||
| + | </ | ||
| + | |||
| + | 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 '' | ||
| + | |||
| + | <code R> | ||
| + | arquivos <- dir(" | ||
| + | arquivos | ||
| + | |||
| + | names(arquivos) <- c(" | ||
| + | arquivos | ||
| + | |||
| + | resumo1 <- function(x){ | ||
| + | gastos <- read.table(x, | ||
| + | names(gastos) <- c(" | ||
| + | totM <- aggregate(Despesa ~ Mes, FUN = sum, data=gastos) | ||
| + | return(totM) | ||
| + | } | ||
| + | |||
| + | res <- lapply(arquivos, | ||
| + | res | ||
| + | |||
| + | require(R2HTML) | ||
| + | saida <- HTMLInitFile(" | ||
| + | HTML.title(" | ||
| + | HTML("< | ||
| + | lapply(res, HTML, file=saida) | ||
| + | HTMLEndFile() | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||