Una prueba de las caracteristicas del modelo de riesgo

# Primero establecer la condición inicial Supone un campo con 100% GM y
# tres campos vecinos sin GM
p <- c(0, 0, 0, 1)
# Vamos a guardar los resultados en un matriz de 100 (años) por 4
mat <- numeric(400)
dim(mat) <- c(100, 4)

# En el primer año la situación es como arriba
mat[1, ] <- p

# Los dos funciones en el texto de la propuesta
fpolen <- function(p, mg = 0.1) p * (1 - (length(p) - 1) * mg) + mg * sum(p)  #Flujo por polen
fsel <- function(p, s = -0.1) p + s * p * (1 - p)^2/(1 - s * (1 - p)^2)  #Seleccion

# No se inclute movimiento de semillas por el momento

Ahora si se corre con mg =0.01 tarda muchas generaciones en acercar a un equilibrio.

for (i in 2:100) {
    mat[i, ] <- fpolen(mat[i - 1, ], mg = 0.01)
}
matplot(mat, type = "l", ylab = "Proporción GM", xlab = "Generaciones")

plot of chunk unnamed-chunk-2