====== 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|}}