#Crecimiento exponencial discreto
N<-c(1,3,9,27,81)
year<-2001:2005
plot(year, N)

#La población esta incrementando en una diferente proporcion cada año? se divide cada año el tamaño poblacional por el tamaño del año anterior
tasas <- N[2:5]/N[1:4]
tasas
## [1] 3 3 3 3
#Esta tasa es especifica porque describe nuestra población y es una regla general: se aplica a cada año y podria potencialmente describir otras poblaciones
#Cómo podriamos predecir el tamaño en 10 años?(hacer reflexion de la formula)
N0<-1
lambda<-2
tiempo<-0:10
Nt<-N0*lambda^tiempo
Nt
##  [1]    1    2    4    8   16   32   64  128  256  512 1024
#Podemos entender como crecen las poblaciones si analizamos los parámetros de la ecuación que describe el número de individuos
#Efectos del tamaño poblacional inicial (Mostrarlo en la ecuación), la variable de interés varia el resto de la ecuación se queda constante
N0<-c(10,20,30)
lambda<-2
time<-0:4
#Calculamos el tamaño poblacional usando sapply para aplicar una función a cada elemento del primer argumento
Nt.s<-sapply(N0, function(n) n*lambda^time)
Nt.s
##      [,1] [,2] [,3]
## [1,]   10   20   30
## [2,]   20   40   60
## [3,]   40   80  120
## [4,]   80  160  240
## [5,]  160  320  480
#Graficando los resultados
matplot(time, Nt.s, pch = 1:3)

matplot(time, Nt.s, log = "y", pch = 1:3)

layout(matrix(1:2,1,2))
matplot(time, Nt.s, pch = 1:3)
matplot(time, Nt.s, log = "y", pch = 1:3)

layout(1)
##Efecto de diferentes tasas per capita
#Qué pasa cuando lambda es mayor a 1 y cuando lambda es menor a 1?
N0 <- 100
time <- 0:3
lambdas <- c(0.5, 1, 1.5)
N.all <- sapply(lambdas, function(x) N0 * x^time)
N.all
##       [,1] [,2]  [,3]
## [1,] 100.0  100 100.0
## [2,]  50.0  100 150.0
## [3,]  25.0  100 225.0
## [4,]  12.5  100 337.5
matplot(time, N.all, xlab = "Years", ylab = "N", pch = 1:3)
abline(h = N0, lty = 3)
text(0.5, 250, expression(lambda > 1), cex = 1.2)
text(0.5, 20, expression(lambda < 1), cex = 1.2)