This is code to accompany the manuscript "Scientific productivity as a random walk" (forthcoming), joint work with Nicholas LaBerge, Samuel F. Way, Daniel B. Larremore, and Aaron Clauset.
This repository is structured in line with the principled data processing workflow, so that it is broken down into decomposable and reproducible tasks. When a task depends on the output from a previous task, we use symlinks to join them.
For documentation purposes, we've included the directory note, which contains the original notebook that these ideas were tried out in.
- Install the python requirements (
pip install -r requirements.txt). - Run
make scaffoldto scaffold the imports and outputs of the repository. - Place the raw data file
adjusted_productivity.csvintoimport/input.
Run make in the root repository. To run any specific task, change into that directory and run make.
For ease of replicability, we include the data in import/input/adjusted_productivities.csv. This data is directly taken from Way, Morgan, Clauset, and Larremore (2017), with slightly stricter inclusion criteria (see paper).
Software was developed and tested on Python 3.11. Typical install times depend on user environment, ranging from 30 seconds to 10 minutes.