Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:alunos2012:alunos:trabalho_final:talitha:start

Talitha Pires

dsc_0122.jpg

Nome: Talitha da Cunha Pires

Doutoranda pelo Departamento de Zoologia, Instituto de Biociências, USP

Projeto: Efeito da fragmentação sobre a estrutura e dinâmica das redes de interação mutualísticas entre plantas e aves frugívoras na Floresta Amazônica e suas implicações para a conservação ambiental

email: talitha@usp.br

Meus Exercícios

Proposta de Trabalho Final

Principal

Gerar redes teóricas por meio de matrizes de probabilidade de interação a partir das abundancias relativas das espécies, da compatibilidade fenotípica (GAPE bico/ tamanho da semente) e da “acessibilidade” (comportamento de forrageio/ frutificação) e comparar com a rede de interação real.

Plano B

Fazer um teste logico para verificar a congruência entre a matriz de interação planta-animal e uma matriz de distancia filogenética (teria que gerar esta matriz a partir de grau de parentesco e inferir quanto a probabilidade de interação, uma vez que espécies de aves mais relacionadas tendem a se alimentar de plantas também mais relacionadas filogeneticamente). Poderia verificar se ha uma correlação entre as matrizes.

Comentários das propostas (Leo)

As propostas parecem interessantes e factíveis. Senti falta de uma formalização melhor de como a função pode se aplicar a uma gama maior de análises ecológicas (generalidade). Sugiro que você explique melhor quais são as tarefas necessárias dentro da função, por exemplo: como as matrizes serão comparadas? Algum teste ou índice específico? Defina claramente também os dados de entrada e saída da função, por exemplo: a função retornará algum índice de similaridade, ou o resultado de algum teste de hipótese? Isto facilitará o entendimento sobre a complexidade da função e te ajudará a organizar a construção da mesma.

Proposta Final

Conversando com o professor Leo, resolvi alterar um pouco minha proposta principal e focar em um dos meus objetivos da proposta A: o de gerar matrizes binárias de interação mutualísticas segundo a compatibilidade fenotípica, fornecendo um índice de similaridade entre a matriz esperada e observada.

Input: -tabelas com medidas de dois conjuntos de espécies a serem comparados -matriz de interação observada na natureza

Output: -matriz de interações esperadas a partir de compatibilidade entre as características do conjunto de espécies -Índice de similaridade entre matriz observada e esperada a partir da compatibilidade fenotípica -Grafos bipartidos das matrizes para melhor visualização das interações

Atualmente, existe um conjunto de teorias 
que visa compreender como os processos evolutivos influenciam e são influenciados pelas interações ecológicas. Para tal, é importante entender como características das espécies envolvidas se relacionam com a estrutura da rede de interação. Vários mecanismos foram propostos com esta finalidade, entre eles, as chamadas, interações proibidas, nas quais, restrições a interações por compatibilidade de características fenotípicas entre as espécies influenciariam no padrão de redes de interações encontrado. O índice de similaridade entre as matrizes observadas e as esperadas por compatibilidade, nos fornece uma medida da contribuição de certas características fenotípicas das espécies no padrão de interação encontrado.

Quanto a generalidade desta proposta ela se aplica a qualquer tipo de interação desde que os dados de entrada tenham uma resposta biologicamente relevante quando comparados pela relação de < = e >= (como largura do bico de aves e comprimento da semente das plantas, tamanho da probóscide de abelhas e comprimento da corola das flores)

Página de Ajuda

 makematrix                         package: bipartite                    R Documentation


Gera uma matriz binária de interações com base na compatibilidade fenotípica entre dois conjunto de 
espécies e a compara com a matriz de interações proveniente de observação empírica


Description:
Gera uma matriz binária de interações esperadas a partir da compatibilidade entre medidas morfológicas 
de dois grupos de espécies e compara com a matriz de interação observada na natureza por meio de um 
índice de similaridade.
A função também retorna uma representação gráfica (grafos bipartidos) para visualização das 
interações observadas, esperadas e as interações geradas pela combinação consensual de ambas.


Usage:
makematrix = function(dfx,dfy,z,FUN=">=")

Arguments:
dfx: tabela com valores de medidas morfológicas atribuídas a um grupo de espécies 
(primeira coluna com o nome dasespécies e segunda coluna com medidas morfométricas)
dfy: arquivo csv com valores de medidas morfológicas atribuídas a outro grupo de 
espécies (seguindo mesmo padrão de mesmo de dfx)
z: matriz de interação entre o primeiro grupo de espécies e o outro com base em observações na natureza
FUN: Relação entre os valores das medidas morfológicas de dfx  e dfy. 

Details:
FUN:
>=se a hipótese é de que há interação se os valores de dfx são maiores ou iguais aos de dfy
< =se a hipótese é de que há interação se os valores de dfx são menores ou iguais aos de dfy

As medidas morfométricas atribuídas a um grupo de espécies  (dfx) serão 
comparadas as do outro grupo de espécies (dfy) gerando uma matriz binária 
de possíveis interações que será comparada a uma matriz de interação observada 
para as mesmas espécies, gerando um índice de similaridade

Value:
A função retorna:

m: matriz binária de interações esperadas segundo compatibilidade de medidas
n: matriz lógica resultante da combinação consensual das interações encontradas 
na natureza e nas interações esperadas
mm: matriz lógica da similaridade entre a matriz esperada e observada
IS:  índice da similaridade entre m e z
Grafos da matriz observada, esperada e matriz de consenso 

Warning:
A função não lê matrizes com NA devolvendo uma mensagem de erro.
Será necessário baixar o pacote bipartite:
library("bipartite")

Author:
Talitha Pires Middleton, IB-USP, São Paulo-SP
talithapires@gmail.com
Michel Bieleveld- 
Agradeço também a Daniel Caetano pela conversa!

References:
Jordano, P., J. Bascompte and J.M. Olesen. 2003. Invariant properties in coevolutionary 
networks of plant-animal interactions. Ecology Letters 6: 69-81.

See Also:
Para outras propriedades de redes de interação veja o pacote bipartite 

Example:
Por favor carregue os arquivos x.csv e y.csv 
obs=matrix(c(1,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0),4,4) #matriz observada empírica
bico = read.csv("x.csv", sep=";",header=TRUE) #medidas dos bicos de sp de aves
semente = read.csv("y.csv",sep=";",header=TRUE) #medidas de sementes de sp de plantas
makematrix(bico,semente,obs,FUN=">")

OU para um exemplo direto use:

bicocsv <- "
NAME;BICO (mm)
AVE1;13
AVE2;54
AVE3;22
AVE4;90"

sementecsv <- "
NAME;SEMENTE(mm)
PLANTA 1;2
PLANTA2;30
PLANTA3;50
PLANTA4;20"

con <- textConnection(bicocsv)
bico <- read.csv(con,sep=";", header=TRUE)
close(con)

con <- textConnection(sementecsv)
semente <- read.csv(con,sep=";", header=TRUE)
close(con)

obs=matrix(c(1,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0),4,4)

makematrix(bico,semente,obs,FUN=">")
 

Código da Função

makematrix = function(dfx,dfy,z,FUN=">=")
{
  x = dfx[,2]  
  y = dfy[,2]
  
  mfrow.backup = par()$mfrow  
  par(mfrow=c(1,3))
  
  f = match.fun(FUN) 
  
  if (sum(is.na(x))>0) {stop("Vector x contains NA, please check your data")} 
  if (sum(is.na(y))>0) {stop("Vector y contains NA, please check your data")} 
  
  m = matrix(rep(0,length(x) * length(y)),length(x),length(y))  
  for(r in 1:length(x))
  {
    for(c in 1:length(y))
    {
      if ( f(x[r],y[c]) ) 
      {
        m[r,c] <- 1
      }
    }
  }
  
  mm = !(xor(m, z))
  is = sum(mm)/length(mm)
  n = m & z
  
  a = as.data.frame(z)
  colnames(a) <- dfy[,1] 
  rownames(a) <- dfx[,1]
  plotweb(a,method="cca",text.rot="90",labsize=1.5,col.low="green",col.high="yellow",col.interaction="blue")
  title(main="Interações observadas")
  
  
  b = as.data.frame(m)
  colnames(b) <- dfy[,1] 
  rownames(b) <- dfx[,1]
  plotweb(b,method="cca",text.rot="90",labsize=1.5,col.low="green",col.high="yellow",col.interaction="blue")
  title(main="Interações esperadas")
  
  c = as.data.frame(n)
  colnames(c) <- dfy[,1]
  rownames(c) <- dfx[,1]
  plotweb(c,method="cca",text.rot="90",labsize=1.5,col.low="green",col.high="yellow",col.interaction="blue")
  title(main="Interações em comum")
  
  
  
  par(mfrow=mfrow.backup)
  return(list(m,n,mm,is))
  
}

Arquivo da Função

Arquivos de dados

05_curso_antigo/alunos2012/alunos/trabalho_final/talitha/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)