Hi guys, I am a biologist and an R newbie, and I'm learning how to create a
simple population model.

So, I have a population matrix ("pop")of 30 age classes of female (1:4 are
non-breeders, 5:30 are breeders) which will be modelled for 100 years.

> pop <- matrix(0,30,100)

I then populate this matrix with 3 young adult females.

> pop[5, 1] <- 3

I then want to run this for 100 years, with stochasticity, to see how this
population does over time.

> for (y in 1:100)  {
>     pop[1,t+1] <- rbinom(1,colSums(pop[5:30, t]), b/2)

(I haven't filled these in but you don't need them, they all have different
survival probabilities to the sexually-mature adults.)

>    pop[5, t+1] <- rbinom(1, pop[4, t], s2)
>    pop[6, t+1] <- rbinom(1, pop[5, t], s2)
.....
>    pop[30, t+1] <- rbinom(1, pop[29, t], s2)
}

So my question is: is there any way of populating this matrix without
having to explicitly write 30 lines of code? Because lines 5 - 30 are all
going to be the same, and yet even after 5 hours (literally) of web
searching and R manual reading I can't find a way to index the rows, which
seems to be what's needed here.

Any insight is welcome here, including a different way of modelling this
population.
Many thanks, Sam.

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to