====== Pietro Kiyoshi ====== {{:bie5782:01_curso_atual:alunos:trabalho_final:pietro:beija-flor.jpg|}} Mestre em Ecologia pela Universidade Federal de Uberlândia. Tem interesse em Ecologia de Interaçoes ====== Exercícios ====== [[.:exec]] ====Plano - Trabalho Final===== A - criar uma função que calcula o indice médio de sobreposição de nicho de Pianka entre as espécies da comunidade, e o compara com indices obtidos em comunidades simuladas com modelo nulo e assim estima sua significância. Com feito no programa Ecosim. A entrada vai ser um data frame ou matriz, sendo as linhas as espécies e as colunas os "nichos". O output, vai ser a sobreposição de nicho observada, a sobreposição media de nicho nas comunidades simuladas e o p, calculado pela razão entre o número de simulações com sobreposição de nicho menor do que observado e o numero total de simulações. B (nova)- Testar a hipotese de ajuste fenólogico entre polinizadores e plantas. Essa proposta é um tanto mais especifico do q a proposta A, mas devido a problemas de execução deste, foi escolhido como novo trabalho. Mas acredito que a função pode ser utilizada para vários grupos de polinizadores e suas plantas. Além disso, essa função me seria muito util, particularmente. **Teoria** - O ajuste morfologico entre plantas e polinizadores é critico para a polinização. Quanto melhor esse ajuste, melhor os polinizadores se utilizam dos recursos oferecidos pelas plantas e as plantas aproveitam melhor o serviço de polinização. **Esperado** - Nesse sentido, a ocorrência de polinizadores sazonais (como é o caso das mariposas esfingideos) poderia estar relacionado com a ocorrência das flores (tbm sazonal) no sentido de apresentar um ajuste entre a morfologia dos dois grupos. Assim as estruturas envolvidas na polinização são a estrutra bucal dos esfingideos (probocide) e a corola das flores. Para avaliar o ajuste é comparado o comprimento dessas duas estruturas. **Dados** - O comprimento de probocide de mariposas coletadas mensalmente atraves de armadilhas luminosas. E o comprimento da corola das flores utilizadas pelas mariposas, tbm mensal. {{:bie5782:01_curso_atual:alunos:trabalho_final:pietro:esfingideo.csv|}} **Hipotese** - Se esse ajuste morfologico existe, a diferença absoluta entre o comprimento das corolas e probocide seria menor do que esperado ao acaso. **Metodo** - Assim para cada mês é calculado o comprimento médio de probocide das mariposas coletadas e esse valor é comparado com a média do comprimento da corola das plantas. Os valores de diferença absoluta dentro de cada mes, vai gerar uma diferença média para todo conjunto. Essa diferença media é a estatistica de interesse. Atraves de ramdomização, a ocorrência das mariposas é aleatorizada, e para cada ramdomização é calculada a média mensal de probocides, que é comparada com a media de corola das flores (este permanece fixo). O número de simulações com diferença absoluta menor do que o observado é tomado como o p unicaudal. === Comentários após entrega === É melhor delimitar um loop com chaves. Na sua função vc não fez isto e parece funcionar porque o loop tem apenas uma linha. Ainda assim, é melhor delimitar com chaves. =====Página de ajuda===== feno.fit package:nenhum R Documentation Testa a hipotese de ajuste fenólogico entre polinizadores e plantas Description: Os valores do parametro morfologico do polinizador envolvido na polinização das flores é aleatorizado. Para cada simulação é estimado a diferença média, por periodo de coleta, entre este parametro e o parametro correspondente na flor Usage: feno.fit=function(polinizador,plant,col,nsim=1000) Arguments: polinizador: medidas do parâmetro de interesse do polinizador (ex: comprimento da probocide de mariposa, do bico de beija-flor) plant: medidas do parâmetro de interesse da flor (ex: comprimento de corola). Deve ser ordenado na mesma sequencia de "col" col: fator representando os periodos de coleta. Cada coleta deve ter um fator diferente. O comprimento desse vetor deve ser o mesmo de "polinizador" e apresentar o mesmo numero de variáveis ao comprimento de "plant" nsim: o numero de simulações Details: Atraves de ramdomização, o parametro morfologico do polinizador é aleatorizado. Para cada coleta é calculado o comprimento médio do parametro morfologico do polinizador e esse valor é comparado com a média por periodo de coleta do parametro das flores (este permanece fixo). Os valores de diferença absoluta dentro de cada coleta, vai gerar uma diferença média para todo o conjunto. Essa diferença media é a estatistica de interesse. O número de simulações com diferença absoluta menor do que o observado é tomado como o p unicaudal. Value: É retornado o valor de p (probabilidade de erro tipo I) unicaudal. Além disso é gerado um histograma com os valores de diferença absoluta simulados, e o valor observado é representado por uma linha vermelha vertical. Warning: plant: Deve ser ordenado na mesma sequencia de "col" col: Cada coleta deve ter um variavel fator diferente. O comprimento desse vetor deve ser o mesmo de "polinizador" e apresentar o mesmo numero de variáveis ao comprimento de "plant" Author(s): Pietro Kiyoshi Maruyama References: JANZEN D.H. (1985) On ecological fitting. Oikos, 45:308-310. AGOSTA S.J. & JANZEN D.H.(2005)Body size distributions of large Costa Rican dry forest moths and the underlying relationship between plant and pollinator morphology. OIKOS, 108:183-193. MANLY B. F. J. (2004)Randomization, bootstrap and Monte Carlo methods in biology. Chapman & Hall/CRC, Boca Raton, FL. Examples: # Com dados aleatorios pol=rnorm(n=100,mean=5,sd=2) pla=rnorm(n=10,mean=5,sd=1) cole=rep(1:10,each=10) feno.fit(pol,pla,cole,nsim=1000) # Com dados de esfingideos (mariposas) e suas flores no Cerrado Carregar o arquivo esfingideo.csv em "dados" na sessão anterior Este tem os dados de probocide dos polinizadores e de coleta. Para dados de plantas plantas=c(2.84,4.51,5.89,5.01,5.29,3.74,3.01,3.01,4.16,2.45,2.46,3.24,5.89,5.01,5.29) =====Código da função===== feno.fit=function(polinizador,plant,col,nsim=1000) { resulta=rep(NA,nsim) col=as.factor(col) mes=aggregate(polinizador,by=list(col),FUN=mean) pol.mes=mes$x resulta[1]=mean(abs(plant-pol.mes)) for(i in 2:1000) resulta[i]=mean(abs(plant-tapply(sample(polinizador),col,mean))) p.uni=sum(resulta<=resulta[1])/length(resulta) cat("\n\t probabilidade uni erro tipo I \n\t") hist(resulta,main="Valores simulados") abline(v=resulta[1],col="red") return(p.uni) } =====Arquivo da função==== Função feno.fit {{:bie5782:01_curso_atual:alunos:trabalho_final:pietro:fenofit.r|}} Para trabalhar com aleatorização por espécie, caso queira {{:bie5782:01_curso_atual:alunos:trabalho_final:pietro:esfinsp.csv|}}