Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2018:alunos:trabalho_final:nathalia.bonani:funcao

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 
  
  
05_curso_antigo/r2018/alunos/trabalho_final/nathalia.bonani/funcao.txt · Última modificação: 2020/08/12 06:04 (edição externa)