Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2011:alunos:trabalho_final:pietro:start

Pietro Kiyoshi

beija-flor.jpg

Mestre em Ecologia pela Universidade Federal de Uberlândia. Tem interesse em Ecologia de Interaçoes

Exercícios

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.

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

fenofit.r

Para trabalhar com aleatorização por espécie, caso queira

esfinsp.csv

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