2
$\begingroup$

I'm reading Williams' Adaptation and Natural Selection: A Critique of Some Current Evolutionary Thought.

In this book the author talks about selection coefficients which, if I understand it correctly, can be calculated as finiteness arithmetic means (for each allele).

My question is: should this calculation be made assuming a ceteris paribus condition?

$\endgroup$
2
$\begingroup$

Definition of selection coefficient

A selection coefficient is a difference in fitness between two genotypes (or haplotypes). Let the two genotypes be A and B. Let's use relative fitness and say that the fitness of A is $w_A = 1$ and the fitness of B is $w_B = 1 - s$, where $s$ is the selection coefficient. As a consequence $w_A - w_B = s$.

The question of long-term fitness is unrelated to the definition of selection coefficient, as the selection coefficient is defined as a difference in fitness. A question of importance is "What measure of fitness should one use for a population where selective pressures are changing over time and/or space".

What measure of fitness should one use for a population where selective pressures are changing over time and/or space

Roughly speaking, if changes in fitness are over space, then you should use arithmetic mean fitness and if changes in fitness are over time, then you should use the geometric mean fitness but it is not quite that easy.

The real interest is whether fitnesses are correlated among generations. In other words, do individuals within a generation tend to have a more similar fitness values than the individuals of another generation? When variation in fitness is spatial than one should not expect such correlation. When variation is temporal one should expect such correlation.

Hoping you can read a code in R, the easiest is probably to read some code that make a simulation and look at the output. So here is a code that performs simulations. The key difference between simulations with spatial and temporal variation is the line that gets fitness value (runif).

set.seed(43)

temporalVariation = function(N, lowestFitness, highestFitness, nbgenerations)
{
    Ns = numeric(nbgenerations)
    Ns[1] = N
    for (generation in 2:nbgenerations)
    {
        fitnessPerIndThisGeneration = runif(1,lowestFitness, highestFitness) # All individuals have the same fitness in a specific generation   
        N = N * fitnessPerIndThisGeneration
        Ns[generation] = N
    }
    return (Ns)
}


spatialVariation  = function(N, lowestFitness, highestFitness, nbgenerations)
{
    Ns = numeric(nbgenerations)
    Ns[1] = N
    for (generation in 2:nbgenerations)
    {
        FitnessOfEachIndividual = runif(N, lowestFitness, highestFitness) # Individuals differ in fitness within a generation
        N = sum(FitnessOfEachIndividual)
        Ns[generation] = N      
    }
    return (Ns)
}


N = 1000
lowestFitness = 0.95
highestFitness = 1.08
nbgenerations = 200

spatialNs = spatialVariation(N, lowestFitness, highestFitness, nbgenerations)
temporalNs = temporalVariation(N, lowestFitness, highestFitness, nbgenerations)

plot(y= spatialNs, x=1:nbgenerations, col='blue', xlab = 'generation', ylab = 'N')
points(y= temporalNs, x=1:nbgenerations, col='red')

enter image description here

In blue is the simulation with spatial variation. In red is the simulation with temporal variation. You will note that the geometric mean is always equal or lower than the arithmetic mean.

Whether the arithmetic or geometric mean fitness matters most will affect the reproductive system that will be most successful. In this regard, you should read Ripa et al. 2009 about bet-hedging

$\endgroup$
  • $\begingroup$ "Roughly speaking, if changes in fitness are over space, then you should use arithmetic mean fitness and if changes in fitness are over time, then you should use the geometric mean fitness but it is not quite that easy." Remi, would you explain/elaborate on this? $\endgroup$ – sterid Mar 18 '17 at 3:48
  • $\begingroup$ @sterid See edit. I am not 100% sure how to explain it, so I decided to write and show results of a simulation. Hopefully that will make sense when reading the code. $\endgroup$ – Remi.b Mar 18 '17 at 16:05
  • $\begingroup$ I appreciate your writing the code, but I don't know the R language. I have a couple questions if you feel like indulging: $\endgroup$ – sterid Mar 19 '17 at 4:16
  • $\begingroup$ Never mind. I understand the program. Will study it & probably have questions. Thank you. $\endgroup$ – sterid Mar 19 '17 at 4:44
  • $\begingroup$ OK I see why that result was obtained. Would you please explain the relevance of "You will note that the geometric mean is always equal or lower than the arithmetic mean." ? $\endgroup$ – sterid Mar 19 '17 at 5:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.