====== Talitha Pires ====== {{:bie5782:01_curso_atual:alunos:trabalho_final:talitha:dsc_0122.jpg?200|}} 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 ===== {{:bie5782:01_curso_atual:alunos:trabalho_final:talitha:exercicio1.r|exercicio1}} {{:bie5782:01_curso_atual:alunos:trabalho_final:talitha:exercicio2.r|exercicio2}} {{:bie5782:01_curso_atual:alunos:trabalho_final:talitha:exercicio3_final.r|exercicio3}} {{:bie5782:01_curso_atual:alunos:trabalho_final:talitha:exercicio4.r|exercicio4}} {{:bie5782:01_curso_atual:alunos:trabalho_final:talitha:exercicio5final.r|exercicio5}} {{:bie5782:01_curso_atual:alunos:trabalho_final:talitha:exercicio6.r|exercicio6}}{{:bie5782:01_curso_atual:alunos:trabalho_final:talitha:exercicio7.r|exercicio7}} {{:bie5782:01_curso_atual:alunos:trabalho_final:talitha:exercicio_9_final.r|exercicio9}} ===== 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 ===== {{:bie5782:01_curso_atual:alunos:trabalho_final:talitha:makematrix.r|}} ===== Arquivos de dados ===== {{:bie5782:01_curso_atual:alunos:trabalho_final:talitha:x.csv|}} {{:bie5782:01_curso_atual:alunos:trabalho_final:talitha:y.csv|}}