====== Barbara Henning ======
{{:bie5782:01_curso2009:alunos:trabalho_final:bonete_014.jpg?200}}
Mestrando em Ecologia, Instituto de Biociências, USP.
===== Proposta =====
==== Principal ====
Minha proposta é criar uma função que calcule o IRI (Índice de importância relativa) de cada espécie-presa. Este índice, quando utilizado para a análise de hábitos alimentares, leva em conta a porcentagem da abundância numérica da espécie-presa (%N), a porcentagem do peso reconstituído (por equação de regressão) da espécie-presa (%W) e a porcentagem de ocorrência em conteúdos dos estômagos (%O). Dado por: IRI = (%N+%W)*%O.
A função de partir dos dados brutos da planilha de triagem com os valores de ocorrência de cada item alimentar, calcular os parâmetros e depois o índice.
Bassoi, M. 2005. Feeding ecology of franciscana dolphin, Pontoporia blainvillei (Cetacea:Pontoporidae), and oceanographic processes on the Southern Brazilian coast. PhD Dissertation submitted to the Graduate School Of National Oceanography Centre, Southampton, United Kingdom.
==== Comentários ====
Ale: Acho interessante, poste tb o formato de saída. A saída é uma lista de espéies-presa e os respectivos índices?? Vai retornar os valore N, W, O e o índice? O índice é calculado para vários amostras de estômagos ou apenas um??
===== Página de Ajuda =====
?imprel package:bie5782_curso2009 R Documentation
Tabela com IRI (Índice de Importancia Relativa) e seus parâmetros, para análise
de hábitos alimentares.
Description:
Produz um data frame com o nome das espécies-presa e seu respectivo IRI, além dos valores
dos parâmetros utilizados para o cálculo do índice.
Usage:
imprel(arq)
imprel(arq=FALSE,sp=col.esp,st=col.est,pe=col.pes)
Arguments:
arq: data frame, em que cada linha representa o evento de um otólito;
a primeira coluna deve conter o nome das espécie(se repetindo para cada evento);
a segunda coluna deve conter o índice que indica em qual estomago o item alimentar foi encontrado;
a terceira coluna deve conter o peso reconsituido do item alimentar, obtido previamente por equação de regressão.
sp: vetor de dados da classe "character" contendo a sequência/repetições de nomes das espécies de cada evento.
st: vetor de dados da classe "character" contendo a sequência/repetições de índices de indicação do estômago de cada evento.
pe: vetor de dados da classe "numeric" contendo a sequência de pesos de cada evento.
Details:
O Índice de Importância Relativa, para análise de hábitos alimentares pode ser calculado através de:
IRI=(%N+%W)*%O
onde:
N= quantidade de eventos para a mesma espécie/quantidade de eventos total
W= peso da especie/peso total de todas as especies
O= numero de estomagos que a especie ocorreu / numero total de estomagos
Na tabela produzida serão apresentados os valores destes parametros para cada espécie-presa, assim como o seu respsectivo IRI.
Value:
Um data frame é gerado.
Além disso, também são gerados mas não exibidos os seguintes objetos:
especie.fat: objeto criado a partir da primeira coluna(especie), como fator, para indexação.
especie.niveis: a partir da função "levels" para o objeto "especie.fat"
especie.tab: tabula número de eventos para cada especie.
estomago.fat: objeto criado a partir da segunda coluna(estomago), como fator.
estomago.niveis: a partir da função "levels" para o objeto "estomago.fat".
estomago.tab: tabula número de eventos para cada estomago.
eventos: conta número de eventos total.
n.especies: conta número de espécies.
Warning:
Esta tabela fornece dados de Importancia Relativa de Espécies para hábitos alimentares.
Author(s):
Barbara Henning
barbara.henning@gmail.com
References:
Bassoi, M. 2005. Feeding ecology of franciscana dolphin, Pontoporia blainvillei
(Cetacea:Pontoporidae), and oceanographic processes on the Southern Brazilian coast.
PhD Dissertation submitted to the Graduate School Of National Oceanography Centre,
Southampton, United Kingdom.
See Also:
Examples:
dados.teste<-read.table("teste3.txt",header=TRUE,sep="\t",dec=",",as.is=TRUE)
imprel(dados.teste)
col.esp<-(dados.teste$especie)
col.est<-(dados.teste$estomago)
col.pes<-(dados.teste$peso)
imprel(arq=FALSE,sp=col.esp,st=col.est,pe=col.pes)
===== Código da Função =====
imprel<-function (arq,sp=FALSE,st=FALSE,pe=FALSE)
{
classe.arq<-class(arq) #####verificação da classe de entrada de dados, se for leitura de arquivo,
if(classe.arq=="data.frame") #####+ a partir deste cria um objeto da classe data.frame chamado "frame".
{
frame<-data.frame(arq)
}
else{}
classe.sp<-class(sp) #####se forem vetores com dados, cria objeto data.frame concatenando os 3 vetores.
classe.st<-class(st)
classe.pe<-class(pe)
if(classe.sp=="character" & classe.st=="character" & classe.pe=="numeric")
{
frame<-data.frame(sp,st,pe,stringsAsFactors = FALSE)
}
else{}
names(frame)<-c("especie","estomago","peso") ##### nomeia as 3 colunas do "frame"
especie.fat<-factor(frame$especie) ##### cria objeto da primeira coluna(especie), como fator, para indexação.
especie.niveis<-levels(especie.fat)
especie.tab<-table(especie.fat) #####tabula número de eventos para cada especie.
estomago.fat<-factor(frame$estomago)
estomago.niveis<-levels(estomago.fat)
estomago.tab<-table(estomago.fat)
eventos<-nrow(frame) #####verifica número de eventos total.
n.especies<-length(especie.tab) #####conta número de especies(fatores)
riqueza<- function (x) #####fórmula para contagem de fatores
{
length(unique(x))
}
resulta<-data.frame(Especie=especie.niveis) #####objeto para guardar respostas.
for (i in 1:n.especies)
{
Ni=round((sum(especie.tab[i])/sum(especie.tab))*100,digits=2) #####cálculo de %N para cada espécie
resulta[i,2]=Ni
Wi=round(((tapply(frame$peso,INDEX=frame$especie,FUN=sum))/sum(frame$peso))*100,digits=2) #####cálculo de %W para cada espécie
resulta[,3]=Wi
Oi=round(((tapply(frame$estomago,INDEX=frame$especie,FUN=riqueza))/riqueza(frame$estomago))*100,digits=2) #####cálculo de %W para cada espécie
resulta[,4]=Oi
IRIi=round(((resulta$V2+resulta$V3)*resulta$V4),digits=2) #####cálculo de IRI para cada espécie
resulta[,5]=IRIi
}
colnames(resulta)<-c("ESPECIE","%N","%W","%O","IRI") ##### nomeando colunas de respostas
return(resulta)
}
===== Arquivo da Função =====
{{:bie5782:01_curso2009:alunos:trabalho_final:barbara_final_imprel.r|imprel}}
{{:bie5782:01_curso2009:alunos:trabalho_final:teste3.txt|teste3}} ####arquivo de dados para teste da função