**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|}}