====== 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