{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:marina2_1_.jpg?200|?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]]
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:ex03.r|P}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:ex03f.r|F}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:ex04.r|P}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:ex04_final.r|F}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:trabalho_final.doc|Proposta}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:ex05.r|P}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:ex05.r|F}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:ex06.r|P}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:ex06.r|F}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:ex07.r|P}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:ex07.r|F}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:ex08.r|P}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:ex09.r|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))
}
…
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:reduz.r|}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:resume.r|}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:xavier.marina:jackknife.r|}}