Sebastián Alvarado Montero

Mestrando em ecologia no IB. A minha área de interesse é a ecologia de paisagem/urbana e os efeitos que as atividades humanas têm sobre a composição das comunidades biológicas. Na tese de mestrado vou trabalhar com insetos carniceiros como indicadores de diversidade e fornecedores de serviços ecossistêmicos.

Meus Exercícios

exercicio_1_-_sebastian_alvarado.r

exercicios_4_sebastian.r

exercicio_5_sebastian.r

exercicio_7a2_sebastian.r

exercicio_7b_sebastian.r

exercicio_8_sebastian.r

exercicio_9.r

Propostas Trabalho Final

Proposta A: Cálculo da Amplitude de dieta

Sebastián Alvarado-Montero

Descrição

A função calculará a amplitude da dieta dos individuos de uma amostra segundo Levins (1968).

Argumento de entrada

A função partirá de uma matriz de Individuos*Ítems, contendo o volumen de cada ítem na dieta de cada individuo.

Return

A função de amplitude dará um data.frame contendo duas colunas: uma com os nomes dos individuos presentes na matriz original e outra com os valores de amplitude (BA) para um deles.

Contextualização

O cálculo de amplitude precisa do Índice de Importância Relativa (IRI) de cada ítem para cada individuo. O IRI segundo o método de Bjorndal et al. (1997) é calculado:

$$ IRI=(F*V)/sum(F*V) $$

Onde F é a freqência de aparição de cada ítem na amostra de individuos e V é a proporção que o ítem ocupou na dieta do individuo. A fórmula para calcular a amplitude (B) é:

$$ B=1/sum1) IRI)^2) $$ O valor de B deve ser estandarizado (BA): $$ BA=(B-1)/(N-1) $$ N é o número ítems achados na dieta do individuo BA corresponde a um valor entre 0 e 1, onde 0 é uma dieta restringida e 1, uma dieta amplia. ==Referências== - Bjorndal, K.A., A.B. Bolten, C.J. Lagueux & Jackson, D.R. (1997). Dietary overlap in three sympatric congeneric freshwater turtles (Pseudemys) in Florida. Chelonian Conservation and Biology, 2, 430-433. - Levins, R. (1968). Evolution in changing environments: some theoretical explorations. New Jersey, NJ: Princeton University Press. ===Proposta B: Cálculo da Sobreposição de dieta=== ==Descrição== A função calculará a sobreposição da dieta entre populações divididas por categorías de interesse segundo Horn (1966). ==Argumento de entrada== A função partirá de uma matriz de Ítems*Categorías, contendo o volumen de cada ítem na dieta de cada individuo. Também utilizará um vetor com a frequência de aparição de cada ítem na amostra de indivuos (F). ==Return== A função de sobreposição dará uma tabela contendo o valor de sobreposição para cada uma das duplas das categorías (a-b, a-c, b-c, etc.) ==Contextualização== O cálculo de sobreposição (Ro) precisa do Índice de Importância Relativa (IRI) de cada ítem para cada individuo. O IRI segundo o método de Bjorndal et al. (1997) é calculado: $$ IRI=\frac{F*V}{\sum F*V} $$ Onde V é a proporção que o ítem ocupou na dieta do individuo. A fórmula para calcular a aobreposição (Ro) é: $$ H_{obs} = \sum ((x_i+x_j)/(X_i+X_j)*log((X_i+X_j)/(x_i+x_j )
H_{max} = \sum (x_i/(X_i+X_j)*log2) X_i+X_j)/x_i)+(x_j/(X_i+X_j *log3) X_i+X_j)/x_j
H_{min} = (X_i/(X_i+X_j))* \sum4) x_i/X_i)*log(X_i/x_i +(X_j/(X_i+X_j))*sum5) x_j/X_j)*log(X_j/x_j
Ro=(Hmax-Hobs)/(Hobs-Hmin)
$$

Onde xi corresponde ao valor de IRI para um ítem na categoria i e xj para um ítem da categoria j. Xi e Xj são a suma de valores para as categorías i e j

Ro corresponde a um valor entre 0 e 1, onde 0 representa que não tem sobreposição e 1, que tem completa sobreposição.

Referências

- Bjorndal, K.A., A.B. Bolten, C.J. Lagueux & Jackson, D.R. (1997). Dietary overlap in three sympatric congeneric freshwater turtles (Pseudemys) in Florida. Chelonian Conservation and Biology, 2, 430-433. - Horn, H.S. (1966) Measurement of “overlap” in comparative ecological studies. The American Naturalist, 100, 419-424.

— Diogo Melo 2017/06/06 18:10 Propostas ok. Acho que a segunda é mais interessante.

Trabalho Final - Função Traslape

Help da Função

traslape package:nenhum R Documentation
Cálculo da sobreposição da dieta de indivíduos entre as categorias de ambiente seguindo
os cálculos de Horn (1966).
Descrição:
A função calcula o valor de sobreposição (Ro) da dieta de indivíduos pertencentes
a dois grupos.A função está baseada nos cálculos de Horn (1996) e utiliza o
Índice de Importância Relativa (IRI), calculado segundo o método de Bjorndal et
al. (1997).O IRI parte do volume geral que cada item contém na dieta dos
indivíduos pertencentes a cada categoria a ser comparada, assim como da
frequência de aparição de cada item (número de indivíduos que consumiram o item
entre o número total de indivíduos amostrados).
Uso:
traslape<-function(x,y)
Argumentos:
x	Matriz de volumes com os items nas linhas e as categorias que serão comparadas
nas colunas
y	Vetor com a frequência de aparição de cada item nos indivíduos amostrados
Detalhes:
A função calcula a sobreposição (Ro) da dieta de indivíduos entre todas as duplas
possíveis de categorias. O valor de Ro vai entre 0 e 1, onde 0 é a ausência de
sobreposição e 1 é um sobreposição total entre as duplas comparadas. A função
também corrige aqueles dados onde o conteúdo estomacal é de volume=0. Para isto
adiciona 0.0001 ao valor de IRI. Assim evita erro em alguns cálculos onde o valor
de IRI entra como denominador de uma fração o dentro de um logaritmo.
Advertência:
O objeto introduzido no argumento x deve ser uma matriz. Caso for de outra classe,
o resultado obtido estará errado.
Autor:
Sebastián Alvarado-Montero
sebas6am@gmail.com
Referências:
Bjorndal, K.A., A.B. Bolten, C.J. Lagueux & Jackson, D.R. (1997). Dietary overlap
in three sympatric congeneric freshwater turtles (Pseudemys) in Florida.
Chelonian Conservation and Biology, 2, 430-433.
Horn, H.S. (1966) Measurement of “overlap” in comparative ecological studies. The
American Naturalist, 100, 419-424.
Exemplos:
#Criar matriz de volumes de 5x5 incluindo valores=0
matriz<-matrix(c(0,0,20,15,0,0,0,4,12,5,4,8,90,56,30,12,10,1,2,20,3,0,0,0,50),ncol=5,byrow=F)
#Nomear colunas e linhas da matriz: 5 items e 5 ambientes
colnames(matriz)<-paste("ambiente",1:5,sep="")
rownames(matriz)<-paste("item",1:5,sep="")
#Criar vetor de frequências simulando o número de indivíduos onde se encontraram
#os 5 items
frequencia<-(runif(5,1,30))/30
#Introduzir a matriz de volumes e o vetor de frequências nos argumentos respectivos
#da função
traslape(matriz,frequencia)

Script da Função

traslape<-function(x,y)
{
#Calcula a proporção que cada item tem do volume total consumido para cada ambiente
prop.vol<-sweep(x,2,colSums(x),'/')
#Multiplica a frequência pela proporção de volume
F.Vol<-prop.vol*y
#Calcula o Índice de Importância Relativa. O 0.0001 é para evitar que os cálculos
#deem erro se o valor ficar no denominador das frações ou no logaritmo
IRI<-((sweep(F.Vol,2,colSums(F.Vol),'/'))*100)+0.0001
#Criar a matriz onde se apresentarão os resultados
resultado<-matrix(NA,ncol=(dim(IRI)[2]),nrow=(dim(IRI)[2]))
#Nomear as colunas da matriz com o nome das categorias comparadas
colnames(resultado)<-colnames(IRI)
#Nomear as linhas da matriz com o nome dos ambientes comparados
rownames(resultado)<-colnames(IRI)
#Iniciar o ciclo para o primeiro elemento da dupla que será comparada, usando
#como referência o número de colunas da matriz IRI
for(i in 1:(dim(IRI)[2]-1))
{
#Iniciar ciclo para o segundo elemento da dupla que será comparada, usando
#como referência o número de colunas da matriz IRI
for(j in (i+1):(dim(IRI)[2]))
{
#Cálculo de Hobs
Hobs<-sum(((IRI[,i]+IRI[,j])/(sum(IRI[,i])+sum(IRI[,j])))*log(((sum(IRI[,i])+sum(IRI[,j]))/(IRI[,i]+IRI[,j])),base = 10))
#Cálculo de Hmax
Hmax<-sum((IRI[,i]/(sum(IRI[,i])+sum(IRI[,j])))*log(((sum(IRI[,i])+sum(IRI[,j]))/IRI[,i]),base = 10)+(IRI[,j]/(sum(IRI[,i])+sum(IRI[,j])))*log(((sum(IRI[,i])+sum(IRI[,j]))/IRI[,j]),base = 10))
#Calculo de Hmin
Hmin<-sum(IRI[,i])/(sum(IRI[,i])+sum(IRI[,j]))*sum((IRI[,i])/sum(IRI[,i])*log((sum(IRI[,i])/IRI[,i]),base=10))+sum(IRI[,j])/(sum(IRI[,i])+sum(IRI[,j]))*sum((IRI[,j])/sum(IRI[,j])*log((sum(IRI[,j])/IRI[,j]),base=10))
#Calculo da sobreposição
Ro<-(Hmax-Hobs)/(Hmax-Hmin)
#Arredondar o valor da sobreposição para dois decimais
Ro<-round(Ro,2)
#Colocar os valores de Ro na matriz seguindo a ordem ij para preencher
#o triângulo inferior
resultado[i,j]<-Ro
#Colocar os valores de Ro na matriz seguindo a ordem ji para preencher
#o triângulo superior
resultado[j,i]<-Ro
#Substituir os valores da diagonal com 1
diag(resultado)<-1.00
}
}
#Retornar no console a matriz contendo os valores de Ro para todas as
#duplas de categorias possíveis
return(resultado)
}