Population growth

[This article was first published on r.iresmi.net, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

I just saw this article in Le Monde :

« a pair of cats can produce 20,000 individuals in just four years ».

(translation)

That seems quite high… Let’s check!

(additionally, the article is about feral cats preying on wildlife but we are shown a wild cat capturing a laboratory mouse!)

This figure could come from a back-of-the-envelope calculation, such as litters of 3.5 kitten twice a year for 4 years producing 3.58 ≈ 22,519 kitten. But that’s a very rough and false estimate : at this rate there will be 76 billions cats in Lyon in 10 years! Moreover we ignore the fact that the first generations can still have litters, the less than perfect survival of feral cats, the delay before the first pregnancy, etc.

We can use Leslie matrix to model the destiny of our founding pair. Leslie matrices are used in population ecology to project a structured (by age) population based on transitions between age classes and fertility.

Cat females reach sexual maturity at 6–8 months (Kaeuffer et al. 2004), can have 2.1 litters each year (Robinson & Cox, 1970) and have a mean of around 4 kitten by litter (Hall & Pierce, 1934 ; Deag et al., 1987) or 9.1 kitten by year (Robinson & Cox, 1970). So we will use quarters as ages classes. We first use an unrealistic 100 % survival and 100 % fecundity.

The first line of the matrix reads 0 kitten produced between 0-3 months, 0 kitten between 3-6 months, and 9.1 / 2 / 4 = 1.4 kitten by capita by quarter for the 6-9 months class and the adults. The 1s on the diagonal are the survivals between age classes and the lower-right 1 the adult survival.

l <- matrix(c(0, 0, 1.4, 1.4,
              1, 0,   0,   0,
              0, 1,   0,   0,
              0, 0,   1,   1), 
            nrow = 4,
            byrow = TRUE)

quarters <- 16

n0 <- matrix(c(0, 0, 0, 2), 
             ncol = 1)

simul <- function(q) { 
  n_proj <- matrix(0, 
                   nrow = nrow(l), 
                   ncol = q)
  n_proj[, 1] <- n0
  
  for (i in 1:(q - 1)) {
    n_proj[, i + 1] <- l %*% n_proj[, i]
  }
  return(n_proj)
}

res <- simul(quarters)
round(sum(res[, ncol(res)]))
# 2450

With our optimistic parameters, we get a population of 2,450 cats after 16 months. An order of magnitude less than in the article…

With a more realistic matrix, especially for feral cats, with less fertility for the first pregnancy and survival rates totally made-up but not 100 %, we can get quite a more manageable population size :

l <- matrix(c(0,     0,   1, 1.4,
              0.6,   0,   0,   0,
              0,   0.7,   0,   0,
              0,     0, 0.8,  .9), 
            nrow = 4,
            byrow = TRUE)

res <- simul(quarters)
round(sum(res[, ncol(res)]))
# 77

round(res)
#      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16]
# [1,]    0    3    3    2    3    4    5    6    8     9    11    14    17    21    26    32
# [2,]    0    0    2    2    1    2    3    3    4     5     6     7     8    10    13    15
# [3,]    0    0    0    1    1    1    1    2    2     3     3     4     5     6     7     9
# [4,]    2    2    2    1    2    3    3    4    5     6     8     9    12    14    17    21

matplot(1:quarters, t(res), type = "l", lty = 1:ncol(l), 
        xlab = "quarter", ylab = "age class size", lwd = 2)
legend("topleft", legend = c("0-3 months", "3-6", "6-9", "adults"), 
       lty = 1:ncol(l), col = 1:ncol(l), lwd = 2)

So only 77 cats now… I let you play with fertility and survival rates to stabilize the population.

But anyway, cats do have an effect on wildlife, so whatever their population size, we must act to reduce their impact.

References

Renaud Kaeuffer, Dominique Pontier, Sébastien Devillard, Nicolas Perrin. Effective size of two feral domestic cat populations (Felis catus L.): effect of the mating system. Molecular Ecology, 2004, 13(2), pp. 483-490. https://doi.org/10.1046/j.1365-294x.2003.02046.x.hal-00427607

Hall, V.E. and Pierce, G.N., Jr. Litter size, birth weight and growth to weaning in the cat. Anat. Rec., 1934, 60: 111-124. https://doi.org/10.1002/ar.1090600113

Deag, J.M., Lawrence, C.E. and Manning, A. The consequences of differences in litter size for the nursing cat and her kittens. Journal of Zoology, 1987, 213: 153-179. https://doi.org/10.1111/j.1469-7998.1987.tb03687.x

Robinson R., Cox H.W. Reproductive performance in a cat colony over a 10-year period. Laboratory Animals, 1970, 4(1):99-112 https://doi.org/10.1258/002367770781036616

To leave a comment for the author, please follow the link and comment on their blog: r.iresmi.net.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)