**FUNÇÃO PLOTAR**
//**Código da Função**//
plotar = function (x, variavel, periodo)
{
library(Rmisc)
if(class(x)!="data.frame") ## Caso o usuário insira um objeto que não pertença a classe "data.frame" será retornada uma mensagem de aviso.
{
stop("o x deve ser da classe data frame")
}
x[x==""]<-NA #Substitui as posições vazias por NA.
x<-na.omit(x) # Os NAs serão omitidos nos cálculos.
# calcular as estatísticas descritivas dos dados usando a função summarise()
tab1<-summarySE(x, measurevar=colnames(x[2]), groupvars=(colnames(x[1])))
tab2<-summarySE(x, measurevar=colnames(x[3]), groupvars=(colnames(x[1])))
tabela<-list(tab1,tab2) ### agrupa os resultados em uma tabela
# verificar a maior diferença entre as médias
maior.dif = max (abs (tabela[[1]][,3] - tabela[[2]][,3])) # calcular a maior diferença absoluta entre os tratamentos
max.media = max (tabela[[1]][,3], tabela[[2]][,3])
min.media = min (tabela[[1]][,3], tabela[[2]][,3]) # antes, verificar a maior média e a menor média, para construir um gráfico que 'caiba' tudo (automatizar o xlim e ylim)
# agora sim, plotar
x11() ###abrir no dispositivo
par(mar=c(9,4,5,9)) ##ajuste da margem
par(cex.lab=1.2) ##ajuste dos labels
plot (tabela[[1]][,1], tabela[[1]][,3], ylim =c (min.media, max.media), xlab = "", ylab = variavel, pch=16, col="red", family="serif", tcl=0.4)
par(new=T)
plot (tabela[[2]][,1], tabela[[2]][,3], xaxt="n", yaxt="n",xlab="", ylab="", pch=17, col="blue",ylim = c (min.media, max.media), family="serif")
# text (1, min.media, adj = 0, paste ("*Maior diferença: ", maior.dif, sep = ""), cex=0.8)
mtext(side=3,text=paste ("* Maior diferença: ", maior.dif, sep = ""), cex=0.8)
mtext(periodo,side=1,line=1.3, padj=2.5)
# as curvas dos tratamentos já estarão dentro dos limites do ylim anterior
lines (tabela[[1]][,1], tabela[[1]][,3], lty=3,col="red")
lines(tabela[[2]][,1], tabela[[2]][,3], lty=1,col="blue")
##Legenda : indexar o nome da coluna trat1 e trat2 e o text.
legend("right",inset=c(-0.31,1),legend=c(colnames(tabela[[1]][3]), colnames(tabela[[2]][3])), pch=c(16,17), col=c("red","blue"), lty=c(3,1), bty="n",xpd=NA, horiz=F)
return(tabela)
}
//**Arquivo da Função**//
{{:bie5782:01_curso_atual:alunos:trabalho_final:osmarina.marinho:funcao_plotar.r|}}
//**Help da Função**//
plotar package:nenhum R Documentation
~~Função genérica de plotagem de dados temporais~~
Description:
Função usada para plotagem de dados temporais. A função compara dados( dois a dois),aponta a maior diferença entre elas no período observado e retorna um gráfico de linhas. Além disso, retorna uma tabela contendo : média, sd, se e ci para cada periodo observado.
Usage:
plotar(x, variavel, periodo)
Arguments:
x data.frame composto por 3 colunas de igual tamanho.
variavel character - nome da escala dos valores do eixo y
periodo character - nome da escala dos valores do eixo x
Details:
A primeira coluna deve conter os intervalos de tempo e as demais devem conter os valores observados em cada intervalo de tempo.
A função requer a instalação do pacote("Rmisc").
Value:
A função plotar retorna um gráfico e uma tabela contendo os seguintes componentes:
Valores médios com:
s.d:desvio padrão dos componentes; s.e: erro padrão dos componentes; c.i: intervalo de confiança dos componentes.
Warnings:
A função aceita como objeto apenas objetos da classe "data.frame".
Note:
...
Author(s):
Osmarina Alves Marinho
contato: osmarina.marinho@usp.br
Reference:
Rocha EMP Da, Ferreira MAT (2001) Análise dos indicadores de inovação tecnológica no Brasil: comparação entre um grupo de empresas privatizadas e o grupo geral de empresas. Ciência da Informação, 30, 64–69.
See Also:
~~ pacote "Rmisc" para entender como funciona a função summariSE() ~~~
Examples:
exemplo = data.frame (mes= 1:3, Brasil =c(100,80,70,60,55,40), Colombia = c(99,80,67,50,30,100))
plotar(exemplo, "PIB", "Anos").
{{:bie5782:01_curso_atual:alunos:trabalho_final:osmarina.marinho:help_da_funcao.txt|}}