Problemas de ecología de poblaciones

Seminario 3, Ecología I

Grado en Biología

Profesor
Departamento

Ecología e Hidrología, Facultad de Biología

Fecha de publicación

14 de noviembre de 2023

Fecha de modificación

26 de abril de 2024

Introducción

En este seminario realizremos diversos ejercicios para resolver problemas de ecología de poblaciones. Nos centraremos principalmente en problemas de dinámica de poblaciones densoindependientes, pero también realizaremos ejercicios relacionados con modelos de poblaciones densodependientes, modelos de poblaciones estructuradas, modelos estocásticos y modelos de metapoblaciones.

Preparación

Necesitaremos el archivo de funciones y datos de la asignatura (eco1.RData). Una vez iniciado R, cargaremos este archivo desde el servidor de la asignatura:

load( url( "http://webs.um.es/jfcalvo/eco1.RData" ) )

Usando ls() podemos ver los objetos cargados. Utiliza la función info para obtener información sobre ellos; por ejemplo: info( "modelo" ) o info( "owl" ). Teclea info() para más información.

Modelos densoindependientes

Ejercicio 1

En 2016, 100 individuos de una especie invasora colonizaron una isla. Considerando una tasa anual de crecimiento \(\lambda\) = 1.071773, calcula:

  • ¿Cuál será el tamaño poblacional en 2025?

\[N_{2025} = \lambda^{t} \times N_{2016}\]

\[N_{2025} = 1.071773 ^ {(2025-2016)} \times 100\]

\[N_{2025} = 1.071773 ^ 9 \times 100\]

\[N_{2025} = 1.866059 \times 100 \approx 187\]

  • En R:

    inicio <- 2016
    fin <- 2025
    N0 <- 100
    lambda <- 1.071773
    lambda ^ ( fin - inicio ) * N0
    [1] 186.6059
  • Con la función modelo:

    modelo( lambda = 1.071773, tiempo = ( 2025 - 2016 ), N0 = 100 )
    lambda = 1.071773 ; r = 0.06931429 ; R = 0.071773 

    N(0) = 100
    N(9) = 186.6059
  • ¿Cuántos años serán necesarios para que la población duplique su tamaño inicial?

\[2 \times N_{2016} = 1.071773^{t} \times N_{2016}\]

\[2 = 1.071773^{t}\]

\[\log(2) = t \times \log(1.071773)\] \[t = \frac{\log(2)}{\log(1.071773)} \approx 10 \]

  • En R:

    log( 2 ) / log( lambda )
    [1] 10.00006
  • Comprobamos el resultado con la función modelo:

    modelo( lambda = 1.071773, tiempo = 10, N0 = 100 )
    lambda = 1.071773 ; r = 0.06931429 ; R = 0.071773 

    N(0) = 100
    N(10) = 199.9991

Ejercicio 2

[Problema modificado de Piñol y Martínez-Vilalta (2006).]

Se han medido con mucho detalle cambios demográficos de una población cautiva de un coleóptero. En una semana han aparecido 24 nuevas larvas y han muerto 10 individuos. El tamaño inicial de la población era de 540 individuos. Calcula cuál es la tasa diaria de crecimiento poblacional (\(\lambda\)) y cuál la tasa intrínseca (\(r\)).

\[N_7 = N_0 + B + I - D - E\] \[N_7 = 540 + 24 + 0 - 10 - 0 = 554\] \[N_7 = \lambda^t \times N_0 = \lambda^7 \times 540 = 554\] \[\lambda^7 = \frac{554}{540} = 1.0225926\] \[\lambda = \sqrt[7]{1.0225926} = 1.003663\] \[r = \log(1.003663) = 0.003656308\]

  • En R:

    ( ( 540 + 24 - 10 ) / 540 ) ^ ( 1 / 7 )
    [1] 1.003663
    log ( 1.003663 )
    [1] 0.003656308
  • Comprobamos con la función modelo:

    modelo( r = 0.003656308, tiempo = 7, N0 = 540 )
    lambda = 1.003663 ; r = 0.003656308 ; R = 0.003663 

    N(0) = 540
    N(7) = 553.9992

\[\frac{N_{t+1}}{N_t} = 1 + b - d = \lambda_{semanal}\] \[\lambda_{semanal} = 1 + \frac{24}{540} - \frac{10}{540} = 1.025926\] \[\lambda_{diaria} = \sqrt[7]{1.0225926} = 1.003663\]

  • En R:

    1 + ( 24 / 540 ) - ( 10 / 540 )
    [1] 1.025926
    1.025926 ^ ( 1 / 7 )
    [1] 1.003663

Ejercicio 3

Actualmente la población humana se duplica aproximadamente cada 50 años. Si la población era de 7000 millones de personas en el año 2011, asumiendo una tasa intrínseca de crecimiento constante, ¿cuál será la población esperada en el año 2025?

\[2 \times N_{0} = \lambda^t \times N_0 = e^{r \times t} \times N_0\] \[2 = \lambda^{50} = e^{r \times 50} \] \[\lambda = e^{r} = \sqrt[50]{2} = 2 ^{\frac{1}{50}}\] \[\log(\lambda) = r = \frac{1}{50}\times \log(2) = 0.01386247\] \[N_{2025} = e^{0.01386247\times( 2025 - 2011 )} \times 7000000000= 8499307835\]

  • En R:

    2 ^ ( 1 / 50 )
    [1] 1.013959
    1.013959 ^ ( 2025 - 2011 ) * 7e+09
    [1] 8499307886
  • Comprobamos con la función modelo:

    modelo( r = 0.01386247, tiempo = ( 2025 - 2011 ), N0 = 7e+09 )
    lambda = 1.013959 ; r = 0.01386247 ; R = 0.013959 

    N(0) = 7e+09
    N(14) = 8499307835

Ejercicio 4

[Problema modificado de Case (2000).]

La cabra de las Rocosas (Oreamnos americanus) fue introducida en la Olympic Peninsula del Estado de Washington (EE. UU.). La población se incrementó de 12 individuos en 1929 a 117 individuos en 1983. Asumiendo una tasa anual crecimiento poblacional constante, ¿en qué año alcanzará la población los 2000 individuos?

\[N_{1983} = \lambda^{(1983-1929)} \times 12 = 117\]

\[\lambda = \sqrt[54]{\left(\frac{117}{12}\right)}= {\left(\frac{117}{12}\right)}^{\left(\frac{1}{54}\right)}\] \[\log(\lambda) = \frac{1}{54}\times \log\left(\frac{117}{12}\right)= 0.04217162\] \[\lambda = e^{0.04217162} = 1.043073\] \[2000 = 1.043073^t \times 12\] \[t = \frac{\log\left(\frac{2000}{12}\right)}{\log(⁡1.0430)} \approx121\] \[1929 + 121 = 2050\]

  • En R:

    ( 1 / 54 ) * log( 117 / 12 )
    [1] 0.04217162
    exp( 0.04217162 )
    [1] 1.043073
    log( 2000 / 12 ) / log( 1.043073 )
    [1] 121.315
    1929 + 121
    [1] 2050
  • Comprobamos con la función modelo:

    modelo( lambda = 1.043073, tiempo = 121, N0 = 12 )
    lambda = 1.043073 ; r = 0.04217116 ; R = 0.043073 

    N(0) = 12
    N(121) = 1973.606

Modelos densodependientes

Ejercicio 5

Considerando una hipotética población de insectos cuyo crecimiento se ajusta a la ecuación \(N_{t+1}=N_t (1+R(1-N_t∕K))\), cuál será el incremento (\(N_{t+1} – N_t\)) en el número de individuos que se produciría en un día a partir de un tamaño poblacional de 4000 individuos, siendo \(R\) = 1.3 día–1 y \(K\) = 10000?

\[N_{t+1} = 4000 \times \left(1 + 1.3 \times \left(1-\frac{4000}{10000}\right)\right)= 7120\] \[N_{t+1} - N_t = 7120 - 4000 = 3120\]

  • En R:

    4000 * ( 1 + 1.3 * ( 1 - 4000 / 10000 ) ) - 4000
    [1] 3120
  • Comprobamos con la función modelo:

    modelo( R = 1.3, tiempo = 1, K = 10000, N0 = 4000 )

    Modelo: case ; R = 1.3 ; K = 10000 
    N(0) = 4000
    N(1) = 7120

Modelos de poblaciones estructuradas

Ejercicio 6

Considera la siguiente matriz de proyección, y el siguiente vector inicial de tamaños poblacionales, correspondientes a una hipotética población estructurada:

\[\mathbf{A} = \begin{bmatrix} 0,5 & 2,0 & 2,0 \\ 0,2 & 0,6 & 0,0 \\ 0,0 & 0,2 & 0,0 \end{bmatrix} \qquad \qquad \mathbf{n}(0) =\left\lbrack \begin{array}{r} 100 \\ 0 \\ 0 \end{array} \right\rbrack\]

Calcula el vector de tamaños poblacionales a tiempo 3.

Debemos utilizar la ecuación del modelo discreto para poblaciones estructuradas:

\[\mathbf{n}(t + 1) = \mathbf{A}(t) \mspace{6mu}\mathbf{n}(t)\]

  • En R, construiremos la matriz de proyección y el vector inicial de tamaños poblacioneles:

    A <- matrix( c ( 0.5, 2.0, 2.0,
                     0.2, 0.6, 0.0,
                     0.0, 0.2, 0.0 ), 3, 3, byrow = TRUE )
    n0 <- c( 100, 0, 0 )
  • A continuación realizaremos los cálculos matriciales:

    A %*% n0 -> n1
    A %*% n1 -> n2
    A %*% n2 -> n3
    data.frame( n0, n1, n2, n3 )
       n0 n1 n2   n3
    1 100 50 65 84.5
    2   0 20 22 26.2
    3   0  0  4  4.4
  • Comprobaremos finalmente el resultado con la función modelo:

    modelo( mat = A, n0 = n0, tiempo = 3 )
    lambda = 1.233629 
    DEE = ( 0.731628 0.2309324 0.03743951 )
    vrr = ( 1 3.668147 1.621232 )

    n(0) = ( 100 0 0 )
    n(3) = ( 84.5 26.2 4.4 )
    N(0) = 100
    N(3) = 115.1

Ejercicio 7

Calcula el valor de \(R_0\) correspondiente a la matriz de proyección del búho moteado (owl) utilizando la ecuación:

\[R_0 = \frac{s_0 \times s_1 \times b}{(1 - s_a)}\]

La matriz de proyección es:

owl
          juvenil subadulta  adulta
juvenil     0.000    0.1704 0.22608
subadulta   0.108    0.0000 0.00000
adulta      0.000    0.7100 0.94200

que se obtiene a partir de las tasas vitales como:

\[\mathbf{A} = \begin{pmatrix} 0 & s_{1}b & s_{a}b \\ s_{0} & 0 & 0 \\ 0 & s_{1} & s_{a} \end{pmatrix}\]

  • En R:

    s0 <- owl[ 2, 1 ]
    s1 <- owl[ 3, 2 ]
    sa <- owl[ 3, 3 ]
    b <- owl[ 1, 2 ] / s1
    s0 * s1 * b / ( 1 - sa )
    [1] 0.3172966
  • Comprobamos el resultado con la función matriz:

    matriz( owl )
    
    Tasa anual de crecimiento:
    lambda = 0.9611471
    
    Tasa reprodutiva neta:
    R0 = 0.3172966
    
    Tiempo generacional:
    T = 18.24138
    
    Distribución de edades/estadios estable:
      juvenil subadulta adulta
    w   0.189     0.021  0.789
    
    Valor reproductivo residual:
        juvenil subadulta adulta
    vrr       1       8.9 11.808
    
    Matriz fundamental:
              juvenil subadulta adulta
    juvenil     1.000     0.000  0.000
    subadulta   0.108     1.000  0.000
    adulta      1.322    12.241 17.241
    
    Esperanza de vida:
       juvenil subadulta adulta
    ev    2.43    13.241 17.241

Modelos estocásticos

Ejercicio 8

Considerando una hipotética población de 40 individuos, con parámetros \(\mu\) = 0.01 y \(s^2\) = 0.05, calcula la probabilidad de extinción (\(N_x\) = 1) , realizando 1000 simulaciones, para un horizonte temporal de 100 años.

  • En R, utilizando la función modelo:

    modelo( mu = 0.01, s2 = 0.15, N0 = 40, Nx = 1, tiempo = 100, sim = 1000 )

    $G
      [1] 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.002 0.003 0.006
     [13] 0.010 0.012 0.014 0.016 0.018 0.022 0.026 0.032 0.036 0.042 0.049 0.051
     [25] 0.054 0.058 0.063 0.070 0.072 0.078 0.079 0.084 0.095 0.098 0.101 0.105
     [37] 0.110 0.119 0.124 0.127 0.130 0.134 0.135 0.137 0.144 0.149 0.152 0.155
     [49] 0.161 0.164 0.169 0.171 0.176 0.177 0.177 0.182 0.186 0.187 0.189 0.191
     [61] 0.195 0.197 0.198 0.198 0.203 0.207 0.210 0.211 0.213 0.214 0.217 0.219
     [73] 0.222 0.223 0.225 0.228 0.228 0.232 0.233 0.234 0.235 0.236 0.239 0.244
     [85] 0.248 0.250 0.253 0.257 0.259 0.263 0.264 0.264 0.264 0.265 0.268 0.270
     [97] 0.274 0.276 0.279 0.280
    
    mu = 0.01 ; s2 = 0.15 ; lambda = 1.01005 ; N0 = 40 ; Nx = 1 ; Pext = 0.28 ( t = 100 ) 

Modelos de metapoblaciones

Ejercicio 9

Asumiendo una situación de equilibrio, y considerando una tasa de colonización \(m\) = 0.6, calcula los valores de \(p^{*}\), \(H\) y \(e\) correspondientes a la metapoblación representada en la siguiente figura, donde los círculos rojos representan manchas ocupadas y los blancos vacías:

Utilizaremos el modelo de dinámica metapoblacional:

\[\frac{dp}{dt} = m p (1-p)-ep \] En equilibrio:

\[ mp(1-p)-ep = 0 \qquad \rightarrow \qquad p^* = 1 - \frac{e}{m}\] Según se observa en la figura, \(H = 12\) y \(p^* = 5/12\), por lo que:

\[\frac{5}{12} = 1 - \frac{e}{0.6}\] \[e = (1 - \frac{5}{12} ) \times 0.6 = 0.35\]

  • En R:

    ( 1 - 5 / 12 ) * 0.6
    [1] 0.35

Ejercicio 10

Asumiendo una situación de equilibrio, y considerando una tasa de colonización \(m\) = 0.6, calcula los valores de \(p_{tot}^{*}\), \(h\) y \(e\) correspondientes a la metapoblación representada en la siguiente figura, donde los círculos rojos representan manchas ocupadas, los blancos vacías y los negros no disponibles:

Utilizaremos el modelo de dinámica metapoblacional:

\[\frac{dp_{tot}}{dt} = m p_{tot} (h-p_{tot})-ep_{tot} \] En equilibrio:

\[ mp(h-p_{tot})-ep_{tot} = 0 \qquad \rightarrow \qquad p_{tot}^* = h - \frac{e}{m}\] Según se observa en la figura, \(h = 9/12\) y \(p^* = 4/12\), por lo que:

\[\frac{4}{12} = \frac{9}{12} - \frac{e}{0.6}\] \[e = \left(\frac{9}{12} - \frac{4}{12} \right) \times 0.6 = 0.25\]

  • En R:

    (9 / 12 - 4 / 12 ) * 0.6
    [1] 0.25

Bibliografía

  • Begon M, Harper JL, Townsend CR (1988) Ecología. Omega, Barcelona.
  • Molles MC (2006) Ecología. McGraw-Hill/Interamericana, Madrid.
  • Piñol J, Martínez-Vilalta J (2006) Ecología con números. Lynx, Barcelona.
  • Smith RL, Smith TM (2001) Ecología. Adison Wesley, Madrid.
  • Case TJ (2000) An Illustrated Guide to Theoretical Ecology. Oxford University Press, Oxford.

Descripción de las funciones y datos

Utiliza la función info. Por ejemplo: info( "modelo" ) o info( "owl" ).