Tabela de conteúdos

Barbara Henning

bonete_014.jpg

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

imprel

teste3 ####arquivo de dados para teste da função