====== Função ====== seedR= function(dados,calc="PG",grafico=FALSE){# cria uma funcao e seus argumentos, abrindo chave para comandos x= dados[-1,-1]# le todos os dados dos tratamentos menos a linha que conta os dias e coluna que mostra os tratamentos ntotal=as.numeric(readline("informe o numero total em cada placa:"))# pede para o usuario informar o numero total de sementes usadas em cada replica do experimento if (calc=="PG" )#executa comando a seguir quando usuario seleciona a opcao "PG" { pgi= apply(x, MARGIN = 1, FUN=sum)*100/ntotal#calcula a porcentagem de sementes germinadas individualmente (pgi),ou seja, em cada uma das replicas dos tratamentos pgm= tapply(pgi,dados[-1,1], mean)#calcula media da porcentagem de germinacao por cada tratamento, excluindo a linha com o nome "tratamento/dia" sd.pgm= tapply(pgi,dados[-1,1], sd)#calcula desvio para cada tratamento x=dados[-1,]#chama a tabela "x" sem os dias x[,"germinadas"]=pgi#adiciona coluna de porcentagem de germinacao por replica results= list("Tabela com dados de porcentagem de germinação"=x, #cria vetor de resultados para visualizacao do usuario "Porcentagem média de germinação por tratamento" = pgm, "Desvio padrão" = sd.pgm) } if (grafico==TRUE) { if (calc=="PG" ) { #executa comando a seguir quando usuario seleciona a opcao "grafico = TRUE" X11() #abre janela para plotagem do grafico boxplot(pgi~trat, data=x, ylab="Porcentagem de Germinacao (%)", #gera grafico boxplot com dados por tratamento xlab="Tratamentos", cex.axis=0.9)} # define nome dos eixos x e Y e formata eixo if (calc=="GT" ) { #executa comando a seguir quando usuario seleciona a opcao "GT" sum.ni=apply(x, MARGIN = 1, FUN=sum)#faz a somatoria de todas as observacoes por replica x[,"Somatoria de ni"]=sum.ni #adiciona a somatoria numa nova coluna na tabela X tempo= as.numeric(dados[1,-1])#seleciona linha com os dados de dias e transforma em vetor numerico ni= dados[-1,-1]#seleciona os dados de observacoes ti.ni=tempo*ni# faz multiplicacao dos dados de observacao e de tempo em dias sum.ni.ti=apply(ti.ni, MARGIN = 1, FUN=sum)# faz a somatoria dos dados de observacoes vezes dias x[,"Somatoria de ni*ti"]=sum.ni.ti#adiciona a somatoria numa nova coluna na tabela X GT= x$`Somatoria de ni*ti`/x$`Somatoria de ni`# faz o calculo de acordo com a notacao para tempo medio de germinacao dados[-1, "GT"]= GT# adiciona uma nova coluna com dados de GT na tabela de dados media.GT= tapply(dados[-1,"GT"],dados[-1,1],mean)# calcula media para GT sd.GT= tapply(dados[-1,"GT"],dados[-1,1],sd)#calcula desvio padrao para GT results= list("Tabela com dados de tempo médio de germinação"= dados,#lista resultados e adiciona em vetor "Medida de tempo médio da germinação por tratamento (GT)" = media.GT,#lista resultados e adiciona em vetor "Desvio padrão de GT" = sd.GT) }#lista resultados e adiciona em vetor return(results)}} # faz retorno da lista resultados para usuario e encerra funcao