Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:alunos2012:alunos:trabalho_final:marcioverdi:start

Marcio Verdi

265497_220255814674419_100000700056842_665396_7937774_o_1_.jpg

Mestrando em Botânica, Departamento de Botânica, Instituto de Biociências, UFRGS, com orientação do Prof. Dr. João André Jarenkow (Depto. de Botânica, IB - UFRGS) e co-orientação do Dr. Ernestino de Souza Gomes Guarino (CPAFAC, Embrapa Acre). Os meus interesses de pesquisa estão relacionados a modelos de distribuição de espécies arbustivo-arbóreas no Sul do Brasil e a trasnferibilidade destes para áreas adjacentes.

Exercícios Resolvidos

Proposta Trabalho Final

Proposta A

Em vista das mudanças ambientais globais, decorrentes principalmente das atividades humanas, a utilização de modelos para a interpretação da distribuição de espécies tem se tornado uma ferramenta cada vez mais importante para a conservação e manejo adequados dos ecossistemas. No entanto, gerar modelos de distribuição de espécies não é uma tarefa fácil 8-O, uma vez que, são utilizados conjuntos de dados enormes e comandos ou funções no R maiores ainda, que, quando não automatizadas em uma única função, podem dar muito trabalho e tomar muito tempo! m(. Assim, pensei em criar uma função para automatizar pelo menos parte dos comandos e funções que já tenho. Inicialmente seria eu acredito função dentro de função FIXME ou algo como, por exemplo, você insere alguns argumentos como nome da espécie, o número de parcelas e o modelo desejado e “pronto” :-D teria o modelo final!!

Proposta B

Comumente, possuímos a partir de nossas investigações científicas um conjunto de dados quantitativos. Em inventários florestais, por exemplo, a quantidade de dados é enorme, sendo comum usar gráficos para representar entre outras a distribuição dos indivíduos em classes de diâmetro e também de altura. Deste modo, considerando a necessidade de classificar e agrupar as coisas a nossa volta, e esta é uma característica inerente ao ser humano, de modo a facilitar nossa vida, pensei em elaborar uma função para calcular a amplitude e o intervalo de classes para estes gráficos. Inicialmente, seria fornecido o número de indivíduos e a função retornaria o número de classes que posteriormente seria utilizado para determinar o intervalo entre as classes. Como segundo passo a função plotaria, a partir de um data frame com os indivíduos e seus valores respectivos de diâmetro e altura, um gráfico com a amplitude e o intervalo de classes especificado anteriormente.

Comentários

PI

A primeira me parece mais interessante desafiadora, e até por isso ainda precisa de uma melhor definição de entradas e saídas. Se o objetivo é prover atalhos para algumas operações comuns neste tipo de modelagem, o interessante seria definir funções genéricas e flexíveis o suficiente para atender muitos casos e muitos colegas (e não só suas demandas específicas).

A segunda proposta parece um plano B honroso, mas não entendi a variável para a qual seriam calculados os intervalos de classe, e se indivíduos são observações.

De modo geral, cuide de definir claramente entradas e saídas, antes de começar a trabalhar na função.

Sobre a função

Olá professores, lamento não ter conseguido completar minha função no prazo. Optei pela proposta A, pois seria algo muito útil em meu trabalho. No entanto, tive muitas dificuldades para torná-la uma função mais geral, de modo que, outras pessoas pudessem utilizá-la. Para tanto, busquei ajuda de muitos colegas…foram muitas tentativas e também muitos erros!! No final consegui fazer ela rodar, porém o produto final não era exatamente o esperado. Assim, ela ainda esta precisando de ajustes que eu vou procurar fazer ou melhor, descobrir no decorrer dos próximos meses. Gostaria de independente da avaliação de receber sugestões ou dicas de onde estou errando!! Sou imensamente grato pelo conhecimento compartilhado e pelas ótimas aulas ministradas durante o curso!! Já estou utilizando tudo o que aprendi…e muito!!

Página de ajuda

     distribui                                 package:none                                           R Documentation


     Seleciona o melhor modelo ou conjunto de variáveis que prediz a distribuição potencial de uma espécie.


     Description:
  
     distibui seleciona o conjunto de variáveis ambientais ou modelo que melhor prediz a distribuição potencial de uma espécie.
     Os modelos são ajustados com glm e são classificados com o Critério de Informação de Akaike corrigido (AICC). Os melhores
     modelos são selecionados após exaustivas triagens dos candidatos, sendo considerando apenas os principais efeitos entre as
     variáveis preditoras. A saída pode ser utilizada para a seleção de modelos ou de variáveis ambientais preditoras.
  
     Usage:
  
     distribui(spp, env)
  
     Arguments:
  
     spp       Um data frame com presença e ausência de espécies, onde as linhas são as unidades amostrais e as colunas são
               espécies com os dados de 1/0.
     env       Um data frame com dados das variáveis ambientais, onde as linhas são as unidades amostrais e as colunas são dados
               das variáveis ambientais.
  
     Details:
  
     A ordem das unidades amostrais em cada data frame deve ser igual. A coluna das unidades amostrais não deve ter o cabeçalho.
  
     Value:
  
     Um objeto da classe list é retornado com vários espaços contendo relevantes dados para seleção de modelos.
  		model : melhor modelo ou conjunto de variáveis.
    		aicc : critério de informação de um objeto de modelo ajustado.
     		weights : coluna com pesos na interação final do ajuste.
     
     See Also:
            
     glmulti, aicc
            
     Author(s):
            
               Marcio Verdi
                                
               marcioverdi@gmail.com
               
     References:
    
     Akaike, H. 1974. A new look at the statistical model identification. IEEE Transaction on Automatic Control 19:716-723.

Código da função

     distribui <- function(spp, env)
            {
       require(SDMTools)
       require(MASS)
       require(glmulti)
       modelos <- list()
       for (sp in 2:NCOL(spp)) 
         {
         for(amb in 2:NCOL(env)) 
           {
           modelos[[paste(sp, amb)]] <- weightable(glmulti(spp[ ,sp] ~ env[ ,amb] ,family="binomial",
                                                           method="h", level=1, crit="aicc")
                                                   }
         }
       return(modelos)
       }
                

Script da função

Dados para testar a função

05_curso_antigo/alunos2012/alunos/trabalho_final/marcioverdi/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)