Individual-based models of cultural evolution. A step-by-step guide using R | Alberto Acerbi

Individual-based models of cultural evolution. A step-by-step guide using R


In the past, I have been asked by a few people where they could start if they wanted to learn how to do individual-based models (IBMs) of cultural evolution. I never had a good answer, so, together with Marco Smolla, we discussed it would have been interesting to develop some material, in a form of a long tutorial, or a book (at that time, conferences were still in person…). While doing some research, I quickly found that Alex Mesoudi had already put together some basic R Markdown IBMs with the same goal, so we happily joined forces.

The result is Individual-based model of cultural evolution. A step-by-step guide using R. The Introduction quickly explains the whys, whats, and hows of the book, and I would suggest to start from there if you are intersted. Some main points here:

  • The book is intended for people with a basic R knowledge that want to learn cultural evolution IBMs by doing. We cut most of the theoretical complexities of modelling (some references can be found in the Introduction) and focused on reproducing existent models, explaining the code almost line-by-line. In sum, this is not a book you want to read on the couch in front of the fire, but on your desk in front of an RStudio window.

  • We choose to use R (and, with some licence, the tidyverse) not because is the best programming language for IBMs, but because is probably the most diffuse at the moment among researchers in cultural evolution. The idea is that, if one already knows R, the additional cost of learning IBMs is relatively limited, as opposed to starting from scratch with a new programming language. (And, anyway, I am too old to learn Julia.)

  • The book builds in complexity, both from the programming and the conceptual point of view. We start with IBMs versions of the “classic” cultural evolution analytical models, assuming that most of the readers will be at least familiar with their verbal descriptions, and we then move to more recent, or less standard, topics. They include Roger’s paradox and its solutions, how to model the effects of demography and migrations, social networks, the importance of convergent transformations, etc. A full table of content is here.

  • We tried to be generally consistent with programming style, conventions, etc. (see again the Introduction), but we also use, especially in the later chapters, different programming techniques so that readers can see how things can be done differently. This should expand the programming knowledge - or simply be confusing. Feedback is welcome.

  • Given the code-heavy nature of the book, the best way to use it is from the Bookdown-generated html version, available here, where the code can be easily copied-and-pasted. The R Markdown files that build the book can be find here, if you prefer to work directly on those. There is also a pdf version here but, as said above, the html version is advised. Also, some of the code did not render well in the pdf, so you may need both in any case.

  • Finally, the html version of the book is, and will always be, open access. We have a doi that can be used to cite it, and we are discussing some options to also have a “proper” publisher for a physical, paper-based, version, but nothing has been planned yet. In fact, if someone has any advice, they are welcome.

So: happy modelling, and remember the book is a first complete draft, but still a draft, so we expect to change and improve bits and pieces in a collaborative effort!

Alberto Acerbi

Cultural Evolution / Cognitive Anthropology / Individual-based modelling / Computational Social Science / Digital Media


comments powered by Disqus