Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2016:alunos:trabalho_final:andresrova:start

Andrés Rojas Valle

arquivo_000.jpeg

Estudante de mestrado em Ecologia, no Laboratorio de Evolução e Comportamento do Artrópodes http://ecologia.ib.usp.br/opilio/ , orientado por Glauco Machado.

A idéia da minha tese é entender as condições que podem mudar as estratégias de aquisição de ninhos pelos machos de um opilião com cuidado paternal.

exec

Proposta Trabalho Final

Comentários Vitor Rios

Andres, sua proposta A está tão geral que me parece ser a própria função de regressão múltipla. O que vc quis dizer com seleção de modelos? A proposta B é interessante, mas me parece ser só chamar o pacote circular. Dê uma elaborada nas duas pra ficar mais fácil de escolher qual delas

vrios81@gmail.com

Andres, já que está no departamento de Ecologia, minha sugestão é que converse pessoalmente com o Vitor ou outro monitor que estiver disponível para refinar sua proposta… não demore a fazer isso para poder iniciar a elaboração da função. De qq forma vc. deverá ajustar a proposta aqui no wiki, pois ela é a base para avaliarmos seu trabalho quando estiver concluído.

Alexandre Adalardo de Oliveira 2016/04/29 11:08

Resposta Andres Rojas

Obrigado Vitor e Alexandre, desculpe pela demora. Estava estudando um pouco de estatísticas circulares e dinâmica de fluidos para melhorar a Proposta B, acho que agora faz mais sentido.

Ainda estou em processo de melhorar a Proposta A, espero que fique pronta hoje da tarde.

Plano A.

Qualquer fenômeno na natureza pode se ver afetado pelas condições em torno dele e das condições que ocorreram antes, mais não necessariamente todas as condições tem efeito no fenômeno, e as condições que sim afetam podem fazer isso com diferente força.

A função vai fazer uma regressão múltipla que vai tomar em conta a variáveis espaciais, quantitativas e qualitativas, para explicar uma variável discreta (contagem). Depois vai fazer uma seleção de modelos e construirá um ou mais gráficos de apresentação dos resultados.

As variáveis preditoras vão ser a distância entre territórios vizinhos, antiguidade (o duração do individuo no site), tamanho de território, tamanho de individuo (dono do território), tipo de individuo (variável qualitativa), a variável resposta pode ser número de ovos/parasitos/cópulas/etc. A entrada de dados deve ser um data frame¸ onde as variáveis preditoras e a variável resposta corresponden às colunas, e os indivíduos as linhas.

Esta função é muito geral e pode ser usada em muitos situações e pode servir para a toma de decisões, por exemplo:

- Um comerciante quer saber o que precisa para ter um bar exitoso em Butantâ, e para isso quer ver quais são as características dos bares que já estão lá e quantas cervejas vende cada um. Ele quer saber se é melhor fazer o bar perto ou longe de outros bares, se os bares velhos vendem mais que os novos, se e melhor um bar menor o maior ou se a nacionalidade dos empregados afetam a venda de cervejas.

-Pode mudar ao comerciante por um diputado, o bar por uma escola, e os empregados do bar por maestros. Muito importante, pode mudar as cervejas por crianças.

Plano B.

A mecánica dos fluidos é a parte da física que estuda o efeito das forças em fluidos, e as interações com os contornos que os restringem. A seguente figura amostra as pressão exercida pelo liquido fluido em torno de um cilindro, onde as setas indicam a direção e velocidade do fluido e os cores indicam a pressão (vermelho é alta e azul é baixa). * A velocidade do fluido é inversamente proporcional à tensão exercida sobre a superfície do cilindro.

350px-cylindervelocitypressure.png

Figura 1.

Um fluido ideal que flui ao longo de um cilindro fixo de raio R, com velocidade uniforme, a velocidade em qualquer ponto sobre a superfície do cilindro, como mostrado na Figura 2, pode ser calculado usando a fórmula:

Uθ= 2 U sinθ

Onde θ = A distância angular do ponto a partir do ponto de estagnação para a frente.

drag_on_a_cylinder.jpg

Figura 2.

Então, a função vai testar se a frequência de ocorrência de algum fenômeno (crescimento de fungos, descascamento de pintura, etc.) na superfície do um cilindro exposto a chuva pode ser relacionada à pressão do água fluente pela mesma superfície. Neste caso, a função vai comparar a ocorrência de ninhos de opilião na superfície de troncos caídos no chão da floresta, os quais tem variação no ângulo em relação ao chão (a água de chuva cai a partir da direção oposta, no ponto de estagnação), com uma simulação da ocorrência em relação na pressão esperada na superfície do tronco, usando estatística circular (pacote CIRCULAR).

-A função vai usar a função rao.test() para determinar se os dados tem direcionalidade.

- Depois, vai fazer um teste de X2 para por à prova se a direcionalidade dos dados pode ser devido à tensão exercida pela água da chuva. Vai fazer categorias de intervalos de 10 graus (0-10, …, 171-180) para os dados observados. Para os valores esperados, vai calcular a media das velocidades do fluido dos mesmos intervalos, e vai gerar os valores esperados para cada intervalo usando a simulação (ainda não sei se tem ques ser runif(),rpois() por ser contagem, ou rvonmises por ser dados circulares).

- Finalmente, vai gerar o valor do teste X2 e um histograma circular que vai mostrar as frequências dos ninhos de opilão para cada intervalo de ângulos e a velocidade do fluido por cor.

Trabalho Final

Função

o.flow= function(x,z) ### Z values= 1 or 2

{ 
{
na.omit(data)
}
{
library(circular)
x= circular(x, type= "angles", units = "degrees", template = "none")    #Transforms angle data from the surface of a cylinder to class "circular"
y= -2*sin(x)                         # tangential velocity of fluid at angle "x", at uniform stream velocity of 1
rx.unif= circular(runif(100, 0, 2*pi))      # Circular uniform distribution, null hypotheses for Rao's Uniformity Test
l.velocity.dist= c(rvonmises(n=length(x), mu=circular(0), kappa=5), rvonmises(n=length(x), mu= circular(pi), kappa= 5)) ###expected distribution at low velocity
h.velocity.dist= c(rvonmises(n=length(x), mu=circular(0.5*pi), kappa=5), rvonmises(n=length(x), mu= circular(1.5*pi), kappa= 5)) #### Expected velocity at high velocity
rao= rao.test(x, rx.unif, alpha = 0.05)  #Rao's Uniformity Test, compares observed data vs data of uniform distribution
 }        
if(z==1) ### value 1, high velocity
        {
        watson.test= watson.two.test(x, h.velocity.dist) #if high velocity, if H0 is not rejected, and p value close to 1 (0,98), frequencies of observed data occur at high fluid velocity.  
        X11()
        rose.diag= function(x)
        {
          rose.diag(x,bins=36, prop=2, shrink=1.0, axes=FALSE, col = 3, rotation= "clock", ticks = T) ### rose diagram of observed data
          par(new=TRUE)  #### enables graph overlaying 
          rose.diag(h.velocity.dist, bins= 36, prop=2, shrink=0.7, axes=FALSE, rotation= "clock",col = 2)### rose diagram of expected data
        }
        }
        if(z==2)
        {  
        watson.test=  watson.two.test(x, l.velocity.dist) #if high velocity, if H0 is not rejected, "x" ...
        rose.diag= function(x)
          {
          rose.diag(x,bins=36, prop=2, shrink=1.0, axes=FALSE, col = 3, rotation= "clock", ticks = T)
          par(new=TRUE)
          rose.diag(l.velocity.dist, bins= 36, prop=2, shrink=0.7, axes=FALSE, rotation= "clock",col = 2)  
        }
        }

{return(list(c(rao, lm.x,watson.test, rose.diag)} }

Help

o.flow package: none R Documentation

Shows if the ocurrence of a phenomenon on the surface of a cylinder is related to the velocity of water (or another fluid) flowing around it, using the angle where the phenomenon occurs.

Description:

First, the function does a Rao's Test for Homogeneity, to determine if there is directionality. This test is based on the idea that if the underlying distribution is uniform, successive observations should be approximately evenly spaced. Second, the function realizes a circular linear model (lm.circular(), “Circular” package), between the angles and the expected velocity of the fluid at each angle “uθ”, given by the following formula=

uθ= 2U sin θ

Where “U” is the velocity of an uniform streamed fluid, and “θ” is the angle in degrees, from the stagnation point (0 degrees). The velocity is inversely related to fluid tension on the surface. This function also compares the frecuency of the observed angles with the expected frecuency (Watson's Two Sample Test of Homogeneity (“circular” package)), if the phenomenon is expected to occurr at high or low fluid velocity. Finally, it makes a rose diagram showing the observed and expected frecuencies.

Usage:

o.flow(x,z)

Arguments:

x List of angles from an observed event on a cylinder surface. z Shows if the phenomenon is expected to occur in high or low velocity.

Details

Value of the argument “z” is either “1” for expected frecuency at high velocity, or “2” for expected frecuency at low velocity.

Value

NULL

Warning

NULL

Note.

Requieres the Package 'Circular'

Author:

Andrés Rojas Valle andresrova@gmail.com

References: Brennen, C. E. 2006. Internet Book on Fluid Dynamics. http://brennen.caltech.edu/fluidbook/basicfluiddynamics/potentialflow/singularities/cylinder.pdf

Levitin, D. J. and G.S. Russell. 1997. Encyclopedia of Statistical Sciences, Kotz, S. and Read, C. B. [Eds.], New York: John Wiley & Sons

Função oflow_function1.r

Help help_funcao.txt}}

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