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, | ||
- | |||
- | |||
</ | </ | ||