
Individual-Based Models of Cultural Evolution
A Step-by-Step Guide Using R
- 216 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Individual-Based Models of Cultural Evolution
A Step-by-Step Guide Using R
About this book
Individual-Based Models of Cultural Evolution shows readers how to create individual-based models of cultural evolution using the programming language R. The field of cultural evolution has emerged in the last few decades as a thriving, interdisciplinary effort to understand cultural change and cultural diversity within an evolutionary framework and using evolutionary tools, concepts, and methods.
Given its roots in evolutionary biology, much of cultural evolution is grounded in, or inspired by, formal models. Yet many researchers interested in cultural evolution come from backgrounds that lack training in formal modelling, such as psychology, anthropology or archaeology. This book addresses that gap. It provides example code in R for readers to run their own models, moving from very simple models of the basic processes of cultural evolution, such as biased transmission and cultural mutation, to more advanced topics such as the evolution of social learning, demographic effects, and social network analysis.
Features of this book:
- Recreates existing models in the literature to show how these were created and to enable readers to have a better understanding of their significance and how to apply them to their own research questions
- Provides full R code to realize models and analyse and plot outputs, with line-by-line analysis
- Requires no previous knowledge of the field of cultural evolution, and only very basic programming knowledge
This is an essential resource for researchers and students interested in cultural evolution, including disciplines such as psychology, anthropology, archaeology, and biology as well as sociology and digital humanities.
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Section I Basics
1 Unbiased transmission
1.1 Initialising the simulation
N <- 100 t_max <- 200
library(tidyverse) population <- tibble(trait = sample(c(“A”, “B”), N, replace = TRUE))
population
## # A tibble: 100 × 1 ## trait ## <chr> ## 1 A ## 2 A ## 3 B ## 4 A ## 5 B ## 6 B ## 7 B ## 8 B ## 9 A ## 10 A ## # … with 90 more rows
population$trait[4] ## [1] “A”
output <- tibble(generation = 1:t_max, p = rep(NA, t_max))
output$p[1] <- sum(population$trait == “A”) / N output
## # A tibble: 200 × 2 ## generation p ## <int> <dbl> ## 1 1 0.54 ## 2 2 NA ## 3 3 NA ## 4 4 NA ## 5 5 NA ## 6 6 NA ## 7 7 NA ## 8 8 NA ## 9 9 NA ## 10 10 NA ## # … with 190 more rows
1.2 Execute generation turnover many times
- copy the current individuals to a separate tibble called previous_population to use as demonstrators for the new individuals; this allows us to implement oblique transmission with its non-overlapping generations, rather than mixing up the generations
- create a new generation of individuals, each of whose trait is picked at random from the previous_population tibble
- calculate p for this new generation and store it in the appropriate slot in output
for (t in 2:t_max) { # Copy the population tibble to previous_population tibble previous_population <- population # Randomly copy from previous generation’s individuals population <- tibble(trait = sample(previous_population$trait, N, replace = TRUE)) # Get p and put it into the output slot for this generation t output$p[t] <- sum(population$trait == “A”) / N } 1.3 Plotting the model results
Table of contents
- Cover
- Half Title
- Title
- Copyright
- Contents
- Introduction
- Section I Basics
- Section II Advanced topics: The evolution of cultural evolution
- Section III Advanced topics: Cultural inheritance
- Section IV Advanced topics: Culture and populations
- References
- Index