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