Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2013:alunos:trabalho_final:xavier.marina:start

?200

MARINA XAVIER DA SILVA

Graduação em Ciências Biológicas

Especialização em Biologia da Conservação

Atualmente aluna do mestrado em Ecologia do IB-USP

Título do Projeto: Ocupação de Carnívoros no Parque Nacional do Iguaçu - PR: rios, cães, turismo e proximidade de áreas não protegidas como determinantes da distribuição das espécies

exec P F P F Proposta P F P F P F P F

Comentários

Realmente minha proposta está confusa. A ideia principal é realmente extrair sumários da matriz de históricos de captura e recaptura na intensão de propiciar ao usuário uma análise exploratória da sua matriz de dados, entendendo que este é um importante passo para a escolha de um dado estimador.Esta é a principal característica “genérica” desta função. Todavia, porque eu escrevi que gostaria de gerar dados de abundância com esta matriz, eu realmente preciso usar um estimador, mas aí, a função perde um pouco a generalização e passa a ficar mais específica não? O que quero dizer é que para os meus tipos de dados o jackknife é provavelmente o melhor estimador, mas não o será para um outro conjunto de dados. Pensei então em gerar dados de abundancia com o jackknife para o meu caso, mas parar a função apenas na sumarização dos dados. Vocês vem algum problema nisso? Podem me dar alguma dica de como usar o jackknife? Bom, fora isso, eu tenho uma outra grande necessidade e que penso também ser um necessidade de várias pessoas que é gerar matrizes com sessões ou históricos de captura bastante diversos. Ou seja, para alguns o intervalo pode ser da ocasião (j) pode ser o dia para outros, o mês. Sendo assim, pensei em criar uma função dentro da função em que basta a pessoa determinar quantas ocasiões (j) ela quer e uma matriz será então criada para depois então ser sumarizada. Acham que eu consigo fazer isso tudo??

PI

As duas propostas são boas, e simples sem serem triviais. Com a primeira você vai exercitar resumos de dados e a segunda vai ser um bom treinamento em trigonometria aplicada. Para a primeira, por que não já incluir dados de todas as espécies no mesmo dataframe, e então gerar resums por espécie?

Leo

Concordo com o Paulo: as duas propostas são boas. Na proposta A não entendi se você quer obter alguma estimativa de abundância ou somente sumários extraídos da matriz com os hístóricos de captura (os quatro parâmetros que você enumerou)? Acho que os sumários já darão um bom trabalho. Se desejar obter alguma estimativa, deverá implementar também o estimador (existem vários) e algum estimador de variância. Lembra que existem vários estimadores, dos simples aos complexos. A maioria deles já pode ser implementado no R através dos pacotes “mra”, “Rcapture”, “Rmark” e “fishmethods”.

FUNÇÃO REDUZ

FUNÇÃO PARA REAJUSTE DA MATRIZ DE HISTÓRICO DE CAPTURA

PÁGINA DE AJUDA

 reduz                package:nenhum                R Documentation

Reagrupa a matriz de histórico de capturas em qualquer intervalo válido determinado pelo 
usuário.

Description:

Reduz a matriz em j ocasiões de captura, reagrupando os valores da coluna original de acordo
com um intervalo determinado pelo usuário.

Usage:

   reduz(x, multiplo) 

Arguments:

x: matriz cujas colunas representam as j ocasiões de captura e as linhas os diferentes 
indivíduos de uma mesma espécie.

multiplo: qualquer valor múltiplo do número original de colunas

Details:
 
    A matriz deve conter apenas 1 e 0, indicando "registrado" e "não registrado", respectivamente. 
    Neste caso, cada evento é caracterizado como Xij que determina para cada indivíduo i na ocasião j
    como 1 se o animal foi registrado nesta ocasião e 0 para ausência.
    
    O agrupamento consiste em percorrer a matriz e considerar o intervalo indicado como determinante 
    das novas j ocasiões de captura. Sendo assim, se um animal ou espécie foi registrado mais de uma 
    vez neste intervalo, o reagrupamento da matriz considerará apenas como um registro

Value:

   Uma matriz com 0 e 1 é gerada com o mesmo número de linhas da matriz original, porém com o 
   número de colunas reduzido à divisão do múltiplo indicado pelo usuário. 
 
Warning:

    Esta função apenas reagrupa os dados do pesquisador em diferentes sessões de captura. 
    A escolha por um dado múltiplo depende do bom-senso do usuário. Lembre-se que os agrupamentos
    visam distribuir melhor os dados para, principalmente,caumentar a probabilidade de captura,
    portanto, use a função com critério.

Author(s):

     Marina Xavier da Silva - xavier.marina@usp.br

References:

    WHITE, GARY C. et al.Capture-Recapture and Removal Methods for Sampling Closed Populations.
	Los Alamos, New Mexico Los Alamos National Laboratory. 1982.235p.

Examples:

    reduz(x, 3) ## entre com a matriz de dados e com o intervalo de interesse
    vet=c(0,1,1,0,0) ##simulando um historico de captura
    reduz(matrix(rep(vet),10,nrow=5,ncol=50),10)## a matriz resultante será de apenas 5 colunas 
    reduz(matrix(1, nrow=3, ncol=30, byrow=TRUE), 3) ##a matriz resultante será de apenas 10 colunas
 

CÓDIGO DA FUNÇÃO

 reduz<-function(x, multiplo)
  {
  a=x[,1]
  lin=length(a)
  b=x[1,]
  col=length(b) 
  coln=col/multiplo 
  temp=0 
  cont=1 
  matriz2=matrix(nrow=lin, ncol=coln, byrow=TRUE)
  for(i in 1:lin)
  {
    for(j in 1:col)
    {
    if ((x[i,j]==1)==T) 
      {
      temp=1 
    }
    if((cont==multiplo)==T) 
      {
      matriz2[i,j/multiplo]=temp 
      cont=1 
      temp=0 
      }
    else
       {
      cont=cont+1 
        }
        }
      }
  return(matriz2)
  }
  

FUNÇÃO RESUME

CONSTRÓI UM SUMÁRIO ESTATÍSTICO DA MATRIZ DE CAPTURA

PÁGINA DE AJUDA

 resume                package:nenhum                R Documentation

Mostra um sumário de uma matriz de captura para escolha do modelo e estimador adequado para
cálculo do tamanho populacional N de uma dada espécie.

Description:

Resume mostra o número total de capturas em cada ocasião j da amostragem. O número total de
animais marcados antes da próxima ocasião j de captura. o número total de animais novos na 
ocasião j de captura e o número total de animais capturados jth vezes na amostragem. 

Usage:

resume(x)

Arguments:

x: matriz cujas colunas representam as j ocasiões de captura e as linhas os diferentes 
indivíduos de uma mesma espécie.  

Details:

A matriz deve conter apenas 1 e 0, indicando "capturado e "não capturado", respectivamente.

Os valores da matriz de entrada devem ser provenientes do modelo de Captura Marcação e Recaptura.

Value:

    Retorna uma matriz com 4 linhas e o mesmo número de colunas da matriz de entrada de dados

 an.capturados: Retorna o total de capturas por ocasião j

 an.marcados: Retorna o total de animais marcados antes da próxima ocasião j de captura

 novas capturas: Retorna o total de novos indivíduos por ocasião j de captura
 
 frequencia: Retorna quantos indivíduos foram capturados em j ocasiões de captura. Quantos indivíduos foram capurados em apenas
 	     uma ocasião de captura? Quantos indivíduos foram capturados em 2 ocasiões de captura? E assim por diante...
Warning:

A função não retorna um valor de abundância. Mostra apenas um sumário para análise e interpretação 
dos dados.

O sumário representa o passo inicial para a escolha do modelo e estimador que melhor se ajusta
aos dados apresentados no sumário.

Note:

Função criada para atender as premissas do modelo de Captura-Marcação-Recaptura.

Author(s):

Marina Xavier da Silva - xavier.marina@usp.br

References:

  WHITE, GARY C. et al.Capture-Recapture and Removal Methods for Sampling Closed Populations.
	Los Alamos, New Mexico Los Alamos National Laboratory. 1982.235p.   

Examples:

resume(x) ## retorna uma matriz com 4 linhas com as informações do sumário
vet=c(1,1,0,0,1) ##simulando um histórico de captura
resume(matrix(rep(vet),2,nrow=5,ncol=10)) ## matriz com 4 linhas e 10 colunas   
     … 

CÓDIGO DA FUNÇÃO

 resume<-function(x)
{
   a=x[,1]
   lin=length(a)
   b=x[1,]
   col=length(b)
   resultado=matrix(nrow=4, ncol=col, byrow=TRUE)
   rownames(resultado)<-paste(c("an.capturados", "an.marcados","novas capturas","frequencia"))
   colnames(resultado)<-paste("j", seq(1:col))
   resultado[1,]=apply(x,2,sum) 
   matriz=matrix(0,nrow=lin, ncol=col)
   valor=0
   for(i in 1:lin)
   {      
      for(j in 1:col)
      {
         if (x[i,j]==1 & valor==0) 
        {
           matriz[i,j]=1 
           valor=1
         }
      }
      valor=0 
   }
  
   for(i in 1:col)
{
   if(i==1)
   {
      resultado[2,i]=0
   }
   if(i==2)
   {
      resultado[2,i]=sum(matriz[,i-1])
   }
   if(i>2)
   {
      resultado[2,i]=sum(matriz[,i-1])+resultado[2,i-1]     
   }
}
   for(i in 1:col)
   {
      resultado[3,i]=sum(matriz[,i])
   }
   resultado[4,]=0
   for(i in 1:lin)
   {
      temp=sum(x[i,])
      resultado[4,temp]=resultado[4,temp]+1
   }
      
   return(resultado)
   
}
 

FUNÇÃO JACKKNIFE

PARA CÁLCULO DE ABUNDÂNCIA

PÁGINA DE AJUDA

 jackknife                package:nenhum                R Documentation

Aplica as fórmulas do jackknife1 e jackknife2 

Description:

Calcula um valor de abundância através dos estimadores jackknife 1 e jackknife 2

Usage:

jackknife(x)

Arguments:

x: matriz cujas colunas representam as j ocasiões de captura e as linhas os diferentes indivíduos de uma mesma espécie 

Details:

A matriz deve conter apenas 1 e 0, indicando "capturado e "não capturado", respectivamente.

Value:

    Retorna uma matriz com 2 linhas contendo os cálculos de abundância estimados por jackknife 1 e jackknife 2
    Os estimadores jackknife trabalham com o sumário estatístico criado pela função resume e seguem a fórmula:

Jack1= Riqueza + Q1(m-1/m)
	Riqueza = riqueza observada
	Q1= Número de espécies que ocorrem em apenas 1 ocasião de captura
	m= número de amostras

Jack2= Riqueza + Q1(2m-3)/m - Q2(m-2)^2/m(m-1)
	Riqueza=riqueza observada
	Q1= Número de espécies que ocorrem em apenas 1 ocasião de captura
	Q2= Número de espécies que ocorrem em 2 ocasiões de captura
	m= número de amostras
 
Warning:

A função retorna um valor de abundância porém sem os cálculos dos intervalos de confiança.
É necessário ter a função resume no console R

Author(s):

Marina Xavier da Silva - xavier.marina@usp.br

References:

  SANTOS, JOSÉ, A. Estimativa de riqueza em espécies. In: Cullen, Jr, L. et al. Métodos de estudos em Biologia da Conservação e Manejo
  da Vida Silvestre.Curitiba,PR, UFPR, 2009. cap.1, p. 19-41.  

See Also:

   resume(x)
   reduz(x)  

Examples:

jackknife(x) ## X é a matriz com o histórico de captura
vet=c(1,1,0,0,1) ##simulando um histórico de captura
jackknife(matrix(rep(vet),2,nrow=5,ncol=10)) ## matriz com 2 linhas e 1 coluna   
… 

CÓDIGO DA FUNÇÃO

 jackknife=function(x)
{
   suma=resume(x)
   a=suma[,1]
   lin=length(a)
   b=suma[1,]
   col=length(b)
   ma=matrix(nrow=2, ncol=1)
   rownames(ma)<-paste(c("jack1", "jack2"))
   colnames(ma)=("valores")
   ma[1,1]= (suma[2,col]) + suma[4,1]*(col-1)/col
   ma[2,1]= (suma[2,col]) + (suma[4,1]*(2*col-3)/col) - (suma[4,2]*((col-2)^2))/(col*(col-1))
   return(round(ma))
   }
… 

reduz.r resume.r jackknife.r

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