Мне дали базовую популяционную модель с 3 этапами жизни, и какой процент от каждого этапа жизни переходил к следующему.Мне нужно создать модель, которая отображает население на каждом этапе жизни в течение определенного периода времени.Однако плодовитость дана как 10 * популяция на стадии 2 и 10 * на стадии 3.
Я смог смоделировать это с помощью матрицы Лесли, оставив [1,] с 0 и добавив в цикл forИтак:
library(ggplot2)
library(reshape2)
rat <- matrix(c(0,.2,0,0,0,.5,0,0,0),nrow=3,ncol=3)
t <- seq(from=0,to=12,by=1)
X <- array(dim=c(3,length(t)),dimnames=list(stage=c("Yearling","Juvenile","Adult"),time=t))
X[,1] <- c(0,10,20)
for (k in seq(from=2,to=length(t),by=1)) {
X[,k] <- rat %*% X[,k-1]
X[1,k] <- X[2,k-1] %*% 10 + X[3,k-1] %*% 10
}
ggplot(data=subset(melt(X),time<199),mapping=aes(x=time,y=value,color=stage,group=stage))+
geom_line()+geom_point()
X
Это работает хорошо, однако, теперь я не могу нормализовать собственный вектор для правильного представления процентных долей стабилизированной стадии, потому что исходная матрица не точно представляет динамику популяции.
Как бы яправильно представить [1,] в исходной матрице?