Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2017:alunos:trabalho_final:sebas6am:start

Sebastián Alvarado Montero

maria_etelvina.jpg

Mestrando em ecologia no IB. A minha área de interesse é a ecologia de paisagem/urbana e os efeitos que as atividades humanas têm sobre a composição das comunidades biológicas. Na tese de mestrado vou trabalhar com insetos carniceiros como indicadores de diversidade e fornecedores de serviços ecossistêmicos.

Meus Exercícios

exercicio_1_-_sebastian_alvarado.r

exercicios_4_sebastian.r

exercicio_5_sebastian.r

exercicio_7a2_sebastian.r

exercicio_7b_sebastian.r

exercicio_8_sebastian.r

exercicio_9.r

Propostas Trabalho Final

Proposta A: Cálculo da Amplitude de dieta

Sebastián Alvarado-Montero

Descrição

A função calculará a amplitude da dieta dos individuos de uma amostra segundo Levins (1968).

Argumento de entrada

A função partirá de uma matriz de Individuos*Ítems, contendo o volumen de cada ítem na dieta de cada individuo.

Return

A função de amplitude dará um data.frame contendo duas colunas: uma com os nomes dos individuos presentes na matriz original e outra com os valores de amplitude (BA) para um deles.

Contextualização

O cálculo de amplitude precisa do Índice de Importância Relativa (IRI) de cada ítem para cada individuo. O IRI segundo o método de Bjorndal et al. (1997) é calculado:

$$ IRI=(F*V)/sum(F*V) $$

Onde F é a freqência de aparição de cada ítem na amostra de individuos e V é a proporção que o ítem ocupou na dieta do individuo. A fórmula para calcular a amplitude (B) é:

$$ B=1/sum((IRI)^2) $$

O valor de B deve ser estandarizado (BA):

$$ BA=(B-1)/(N-1) $$

N é o número ítems achados na dieta do individuo

BA corresponde a um valor entre 0 e 1, onde 0 é uma dieta restringida e 1, uma dieta amplia.

Referências

- Bjorndal, K.A., A.B. Bolten, C.J. Lagueux & Jackson, D.R. (1997). Dietary overlap in three sympatric congeneric freshwater turtles (Pseudemys) in Florida. Chelonian Conservation and Biology, 2, 430-433.

- Levins, R. (1968). Evolution in changing environments: some theoretical explorations. New Jersey, NJ: Princeton University Press.

Proposta B: Cálculo da Sobreposição de dieta

Descrição

A função calculará a sobreposição da dieta entre populações divididas por categorías de interesse segundo Horn (1966).

Argumento de entrada

A função partirá de uma matriz de Ítems*Categorías, contendo o volumen de cada ítem na dieta de cada individuo. Também utilizará um vetor com a frequência de aparição de cada ítem na amostra de indivuos (F).

Return

A função de sobreposição dará uma tabela contendo o valor de sobreposição para cada uma das duplas das categorías (a-b, a-c, b-c, etc.)

Contextualização

O cálculo de sobreposição (Ro) precisa do Índice de Importância Relativa (IRI) de cada ítem para cada individuo. O IRI segundo o método de Bjorndal et al. (1997) é calculado:

$$ IRI=\frac{F*V}{\sum F*V} $$

Onde V é a proporção que o ítem ocupou na dieta do individuo. A fórmula para calcular a aobreposição (Ro) é:

$$ H_{obs} = \sum ((x_i+x_j)/(X_i+X_j)*log((X_i+X_j)/(x_i+x_j))) \\ H_{max} = \sum (x_i/(X_i+X_j)*log((X_i+X_j)/x_i)+(x_j/(X_i+X_j))*log((X_i+X_j)/x_j)) \\ H_{min} = (X_i/(X_i+X_j))* \sum((x_i/X_i)*log(X_i/x_i))+(X_j/(X_i+X_j))*sum((x_j/X_j)*log(X_j/x_j)) \\ Ro=(Hmax-Hobs)/(Hobs-Hmin) \\ $$

Onde xi corresponde ao valor de IRI para um ítem na categoria i e xj para um ítem da categoria j. Xi e Xj são a suma de valores para as categorías i e j

Ro corresponde a um valor entre 0 e 1, onde 0 representa que não tem sobreposição e 1, que tem completa sobreposição.

Referências

- Bjorndal, K.A., A.B. Bolten, C.J. Lagueux & Jackson, D.R. (1997). Dietary overlap in three sympatric congeneric freshwater turtles (Pseudemys) in Florida. Chelonian Conservation and Biology, 2, 430-433. - Horn, H.S. (1966) Measurement of “overlap” in comparative ecological studies. The American Naturalist, 100, 419-424.

Diogo Melo 2017/06/06 18:10

Propostas ok. Acho que a segunda é mais interessante.

Trabalho Final - Função Traslape

Help da Função

traslape                package:nenhum                R Documentation

Cálculo da sobreposição da dieta de indivíduos entre as categorias de ambiente seguindo
os cálculos de Horn (1966).

Descrição:

     A função calcula o valor de sobreposição (Ro) da dieta de indivíduos pertencentes
     a dois grupos.A função está baseada nos cálculos de Horn (1996) e utiliza o
     Índice de Importância Relativa (IRI), calculado segundo o método de Bjorndal et
     al. (1997).O IRI parte do volume geral que cada item contém na dieta dos 
     indivíduos pertencentes a cada categoria a ser comparada, assim como da
     frequência de aparição de cada item (número de indivíduos que consumiram o item
     entre o número total de indivíduos amostrados).

Uso:

     traslape<-function(x,y)

Argumentos:

 x	Matriz de volumes com os items nas linhas e as categorias que serão comparadas
        nas colunas
 y	Vetor com a frequência de aparição de cada item nos indivíduos amostrados 

Detalhes:

     A função calcula a sobreposição (Ro) da dieta de indivíduos entre todas as duplas
     possíveis de categorias. O valor de Ro vai entre 0 e 1, onde 0 é a ausência de
     sobreposição e 1 é um sobreposição total entre as duplas comparadas. A função 
     também corrige aqueles dados onde o conteúdo estomacal é de volume=0. Para isto
     adiciona 0.0001 ao valor de IRI. Assim evita erro em alguns cálculos onde o valor
     de IRI entra como denominador de uma fração o dentro de um logaritmo.

Advertência:

     O objeto introduzido no argumento x deve ser uma matriz. Caso for de outra classe,
     o resultado obtido estará errado.

Autor:

     Sebastián Alvarado-Montero
     sebas6am@gmail.com

Referências:

     Bjorndal, K.A., A.B. Bolten, C.J. Lagueux & Jackson, D.R. (1997). Dietary overlap
        in three sympatric congeneric freshwater turtles (Pseudemys) in Florida.
        Chelonian Conservation and Biology, 2, 430-433.
     Horn, H.S. (1966) Measurement of “overlap” in comparative ecological studies. The
        American Naturalist, 100, 419-424.

Exemplos:

     #Criar matriz de volumes de 5x5 incluindo valores=0
     matriz<-matrix(c(0,0,20,15,0,0,0,4,12,5,4,8,90,56,30,12,10,1,2,20,3,0,0,0,50),ncol=5,byrow=F)
     #Nomear colunas e linhas da matriz: 5 items e 5 ambientes
     colnames(matriz)<-paste("ambiente",1:5,sep="")
     rownames(matriz)<-paste("item",1:5,sep="")
     #Criar vetor de frequências simulando o número de indivíduos onde se encontraram 
     #os 5 items
     frequencia<-(runif(5,1,30))/30
     #Introduzir a matriz de volumes e o vetor de frequências nos argumentos respectivos
     #da função
     traslape(matriz,frequencia)

Script da Função

traslape<-function(x,y)
{
  #Calcula a proporção que cada item tem do volume total consumido para cada ambiente
  prop.vol<-sweep(x,2,colSums(x),'/')
  #Multiplica a frequência pela proporção de volume
  F.Vol<-prop.vol*y
  #Calcula o Índice de Importância Relativa. O 0.0001 é para evitar que os cálculos
  #deem erro se o valor ficar no denominador das frações ou no logaritmo
  IRI<-((sweep(F.Vol,2,colSums(F.Vol),'/'))*100)+0.0001
  #Criar a matriz onde se apresentarão os resultados
  resultado<-matrix(NA,ncol=(dim(IRI)[2]),nrow=(dim(IRI)[2]))
  #Nomear as colunas da matriz com o nome das categorias comparadas 
  colnames(resultado)<-colnames(IRI)
  #Nomear as linhas da matriz com o nome dos ambientes comparados
  rownames(resultado)<-colnames(IRI)
  #Iniciar o ciclo para o primeiro elemento da dupla que será comparada, usando
  #como referência o número de colunas da matriz IRI
  for(i in 1:(dim(IRI)[2]-1)) 
  {
    #Iniciar ciclo para o segundo elemento da dupla que será comparada, usando
    #como referência o número de colunas da matriz IRI
    for(j in (i+1):(dim(IRI)[2])) 
    {
      #Cálculo de Hobs      
      Hobs<-sum(((IRI[,i]+IRI[,j])/(sum(IRI[,i])+sum(IRI[,j])))*log(((sum(IRI[,i])+sum(IRI[,j]))/(IRI[,i]+IRI[,j])),base = 10))
      #Cálculo de Hmax
      Hmax<-sum((IRI[,i]/(sum(IRI[,i])+sum(IRI[,j])))*log(((sum(IRI[,i])+sum(IRI[,j]))/IRI[,i]),base = 10)+(IRI[,j]/(sum(IRI[,i])+sum(IRI[,j])))*log(((sum(IRI[,i])+sum(IRI[,j]))/IRI[,j]),base = 10))
      #Calculo de Hmin
      Hmin<-sum(IRI[,i])/(sum(IRI[,i])+sum(IRI[,j]))*sum((IRI[,i])/sum(IRI[,i])*log((sum(IRI[,i])/IRI[,i]),base=10))+sum(IRI[,j])/(sum(IRI[,i])+sum(IRI[,j]))*sum((IRI[,j])/sum(IRI[,j])*log((sum(IRI[,j])/IRI[,j]),base=10))
      #Calculo da sobreposição
      Ro<-(Hmax-Hobs)/(Hmax-Hmin)
      #Arredondar o valor da sobreposição para dois decimais
      Ro<-round(Ro,2)
      #Colocar os valores de Ro na matriz seguindo a ordem ij para preencher 
      #o triângulo inferior
      resultado[i,j]<-Ro
      #Colocar os valores de Ro na matriz seguindo a ordem ji para preencher 
      #o triângulo superior
      resultado[j,i]<-Ro
      #Substituir os valores da diagonal com 1
      diag(resultado)<-1.00 
    }
  }
  #Retornar no console a matriz contendo os valores de Ro para todas as 
  #duplas de categorias possíveis
  return(resultado)
}
05_curso_antigo/r2017/alunos/trabalho_final/sebas6am/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)