Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Próxima revisão | Revisão anterior | ||
| cursos:mct:exemplo1a [2011/05/09 11:01] – criada paulojus | cursos:mct:exemplo1a [2011/05/27 00:42] (atual) – paulojus | ||
|---|---|---|---|
| Linha 71: | Linha 71: | ||
| return(x)})) | return(x)})) | ||
| </ | </ | ||
| + | |||
| + | Algumas operações ilustrando funções '' | ||
| + | <code R> | ||
| + | Tot.L <- function(x) sum(x[-1]) | ||
| + | Pesq$Total <- apply(Pesq, 1, Tot.L) | ||
| + | Pesq | ||
| + | |||
| + | ## Eliminando a coluna | ||
| + | Pesq$Total <- NULL | ||
| + | Pesq | ||
| + | </ | ||
| + | |||
| + | Uma função para criar uma nova coluna que seria um indicador calculado com os dados | ||
| + | <code R> | ||
| + | ## uma função simples | ||
| + | Indic <- function(x){ | ||
| + | | ||
| + | } | ||
| + | |||
| + | ## uma versao mais elaborada | ||
| + | Indic <- function(x, na.rm=T, metodo){ | ||
| + | metodo <- match.arg(metodo, | ||
| + | ## testando se os dados sao numéricos | ||
| + | | ||
| + | | ||
| + | } | ||
| + | ## mensagem de alerta | ||
| + | if(any(is.na(x[-1]))) | ||
| + | | ||
| + | S1 <- sum(x[c(2, | ||
| + | S2 <- max(x[c(5, | ||
| + | ## duas formas de fazer e escolha da funcao (if ou do.call) | ||
| + | if(metodo == " | ||
| + | S3 <- mean(x[c(7, | ||
| + | if(metodo == " | ||
| + | S3 <- median(x[c(7, | ||
| + | # do.call(metodo, | ||
| + | Ind <- (S1/S2) - S3 | ||
| + | return(Ind) | ||
| + | } | ||
| + | |||
| + | apply(Pesq, 1, Indic) | ||
| + | apply(Pesq, 1, Indic, na.rm=F) | ||
| + | |||
| + | apply(Pesq, 2, mean, na.rm=T) | ||
| + | </ | ||
| + | |||
| + | '' | ||
| + | < | ||
| + | fc <- function(x) c(mean(x[-1]), | ||
| + | lapply(Pesq, | ||
| + | sapply(Pesq, | ||
| + | </ | ||
| + | |||
| Agora lendo os indicadores de estudantes e depois unir tudo em um único objeto | Agora lendo os indicadores de estudantes e depois unir tudo em um único objeto | ||
| Linha 92: | Linha 146: | ||
| rm(pcEst, pcPesq, Pesq1, Pesq, Est) | rm(pcEst, pcPesq, Pesq1, Pesq, Est) | ||
| </ | </ | ||
| + | |||
| + | **Operações por grupos**\\ podem sere feitas com '' | ||
| + | <code R> | ||
| + | with(ProdC, tapply(Autores, | ||
| + | with(ProdC, by(Autores, Ano, sum)) | ||
| + | aggregate(Autores ~ Ano, data=ProdC, sum) | ||
| + | </ | ||
| + | |||
| **Alguns gráficos**\\ | **Alguns gráficos**\\ | ||
| Linha 102: | Linha 164: | ||
| <code R> | <code R> | ||
| ## produção total, somando pesquisadores e estudantes | ## produção total, somando pesquisadores e estudantes | ||
| - | aggregate(Autores ~ Ano, data=ProdC, sum) | + | AuporAno <- aggregate(Autores ~ Ano, data=ProdC, sum) |
| - | plot(aggregate(Autores ~ Ano, data=ProdC, sum)) | + | AuporAno |
| - | plot(aggregate(Autores ~ Ano, data=ProdC, sum), type=" | + | plot(AuporAno) |
| + | plot(AuporAno, type=" | ||
| ## somando agora todas as produções de Perq e Estudantes por ano | ## somando agora todas as produções de Perq e Estudantes por ano | ||
| Linha 136: | Linha 199: | ||
| <code R> | <code R> | ||
| require(lattice) | require(lattice) | ||
| + | |||
| + | # gráficos de dispersão | ||
| + | |||
| + | xyplot(Autores~Ano, | ||
| + | xyplot(Autores~Ano, | ||
| + | xyplot(Autores~Ano, | ||
| + | xyplot(Autores~Ano, | ||
| + | | ||
| + | xyplot(Autores~Ano, | ||
| + | | ||
| + | |||
| + | xyplot(Nacional+Internacional~Ano|Autor, | ||
| + | xyplot(Nacional+Internacional~Ano|Autor, | ||
| + | | ||
| + | xyplot(Nacional+Internacional~Ano|Autor, | ||
| + | | ||
| + | xyplot(Nacional+Internacional~Ano|Autor, | ||
| + | | ||
| + | |||
| + | # | ||
| + | # gráficos de barras | ||
| + | |||
| + | str(ProdC) | ||
| + | barchart(Autores~Ano, | ||
| + | barchart(Nacional+Internacional~Ano|Autor, | ||
| + | |||
| + | require(reshape) | ||
| + | ProdC2 <- melt(ProdC, id=c(" | ||
| + | str(ProdC2) | ||
| + | |||
| + | barchart(value~Ano|variable, | ||
| + | barchart(value~Ano|variable, | ||
| + | | ||
| + | barchart(value~Ano|variable, | ||
| + | | ||
| + | barchart(value~Autor|Ano, | ||
| + | barchart(value~Autor|factor(Ano), | ||
| + | barchart(value~Autor|factor(Ano), | ||
| + | | ||
| + | barchart(value~Autor|factor(Ano), | ||
| + | | ||
| + | barchart(value~Autor|factor(Ano), | ||
| + | | ||
| </ | </ | ||
| Linha 144: | Linha 250: | ||
| </ | </ | ||
| - | ## Outro exemplo.... | + | Outro exemplo: (novos elementos: dados faltantes, caracteres de decimais e milhares)\\ |
| - | ## Dados socio economicos | + | Dados sócio econômicos |
| + | <code R> | ||
| ScEc <- read.table(" | ScEc <- read.table(" | ||
| head(ScEc) | head(ScEc) | ||
| ScEc <- as.data.frame(lapply(pcPesq, | ScEc <- as.data.frame(lapply(pcPesq, | ||
| - | |||
| - | |||
| </ | </ | ||