{"id":18399623,"url":"https://github.com/mrc-ide/individual","last_synced_at":"2025-10-15T00:56:38.664Z","repository":{"id":41273985,"uuid":"228632510","full_name":"mrc-ide/individual","owner":"mrc-ide","description":"R Package for individual based epidemiological models","archived":false,"fork":false,"pushed_at":"2025-08-12T09:52:55.000Z","size":14280,"stargazers_count":30,"open_issues_count":9,"forks_count":17,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-09-26T08:42:58.699Z","etag":null,"topics":["agent-based-modeling","epidemiology","individual-based-modelling","infectious-diseases","r","r-package","rstats"],"latest_commit_sha":null,"homepage":"https://mrc-ide.github.io/individual","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrc-ide.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-12-17T14:19:24.000Z","updated_at":"2025-08-12T09:50:02.000Z","dependencies_parsed_at":"2024-01-15T17:25:05.449Z","dependency_job_id":"12e4768c-a7b5-4f90-97d2-9f8699808bc4","html_url":"https://github.com/mrc-ide/individual","commit_stats":{"total_commits":486,"total_committers":6,"mean_commits":81.0,"dds":0.5390946502057613,"last_synced_commit":"079e45e96fff0e5682ebfe5a7f9eb4dd9807c438"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/mrc-ide/individual","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrc-ide%2Findividual","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrc-ide%2Findividual/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrc-ide%2Findividual/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrc-ide%2Findividual/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrc-ide","download_url":"https://codeload.github.com/mrc-ide/individual/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrc-ide%2Findividual/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277673617,"owners_count":25857700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-30T02:00:09.208Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-based-modeling","epidemiology","individual-based-modelling","infectious-diseases","r","r-package","rstats"],"created_at":"2024-11-06T02:27:56.573Z","updated_at":"2025-10-15T00:56:38.633Z","avatar_url":"https://github.com/mrc-ide.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Individual \u003cimg src='man/figures/logo.png' align=\"right\" style=\"height:139px !important\" /\u003e\n\n\u003c!-- badges: start --\u003e\n[![R build status](https://github.com/mrc-ide/individual/actions/workflows/R-CMD-check.yaml/badge.svg?branch=dev)](https://github.com/mrc-ide/individual/actions)\n[![codecov.io](https://codecov.io/github/mrc-ide/individual/coverage.svg)](https://codecov.io/github/mrc-ide/individual)\n[![CRAN](https://www.r-pkg.org/badges/version/individual)](https://cran.r-project.org/package=individual)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.03539/status.svg)](https://doi.org/10.21105/joss.03539)\n\u003c!-- badges: end --\u003e\n\nAn R package for specifying and simulating individual-based models.\n\nThis package is designed to:\n\n  1. encourage clear and testable components for defining your individual-based \nmodels, and\n  2. provide memory efficient, fast code for executing your model\n\n## Installation\n\nThe package can be installed from github using the \"remotes\" library\n\n```R\nlibrary('remotes')\ninstall_github('mrc-ide/individual')\n```\n\nAlternatively you can install individual directly from CRAN, but be aware that\nthe CRAN version may not be the most recent version of the package:\n\n```R\ninstall.packages(\"individual\")\n```\n\nFor development it is most convenient to run the code from source. You can\ninstall the dependencies in RStudio by opening the project and selecting \"Build\" \u003e \"Install and Restart\"\n\nCommand line users can execute:\n\n```R\nlibrary('remotes')\ninstall_deps('.', dependencies = TRUE)\n```\n\nDocker users can build a minimal image with\n\n```bash\ndocker build . -f docker/Dockerfile -t [your image name]\n```\n\nOr if you would like devtools and documentation tools you can run\n\n```bash\ndocker build . -f docker/Dockerfile.dev -t [your image name]\n```\n\n## Usage\n\nWe recommend first reading `vignette(\"Tutorial\")` which describes\nhow to simulate a simple SIR model in \"individual\", and later `vignette(\"API\")`\nwhich describes in detail how to use the data structures in \"individual\" to\nbuild more complicated models. If you are running into performance issues,\nlearn more about how to speed up your model in `vignette(\"Performance\")`.\n\n## Statement of need\n\nIndividual-based models are important tools for infectious disease epidemiology,\nbut practical use requires an implementation that is both comprehensible so that\ncode may be maintained and adapted, and fast. \"individual\" is an R package which\nprovides users a set of primitive classes using the [R6](https://github.com/r-lib/R6)\nclass system that define elements common to many tasks in infectious disease\nmodeling. Using R6 classes helps ensure that methods invoked on objects are\nappropriate for that object type, aiding in testing and maintenance of models\nprogrammed using \"individual\". Computation is carried out in C++ using \n[Rcpp](https://github.com/RcppCore/Rcpp) to link to R, helping achieve good\nperformance for even complex models.\n\n\"individual\" provides a unique method to specify individual-based models compared\nto other agent/individual-based modeling libraries, where users specify a type\nfor agents, which are subsequently stored in an array or other data structure.\nIn \"individual\", users instead instantiate a object for each variable which\ndescribes some aspect of state, using the appropriate R6 class. Finding subsets\nof individuals with particular combinations of state variables for further\ncomputation can be efficiently accomplished with set operations, using a custom\nbitset class implemented in C++. Additionally, the software makes no assumptions\non the types of models that may be simulated (*e.g.* mass action, network),\nand updates are performed on a discrete time step.\n\nWe hope our software is useful to infectious disease modellers, ecologists, and\nothers who are interested in individual-based modeling in R.\n\n## Contributing\n\nThank you! Please refer to the vignette on `vignette(\"Contributing\")` for info on how to\ncontribute :)\n\n## Alternatives\n\n### Non R Software\n\n - [Repast](https://github.com/repast)\n - [Mesa](https://github.com/projectmesa/mesa)\n - [NetLogo](https://ccl.northwestern.edu/netlogo/)\n - [Agents.jl](https://github.com/JuliaDynamics/Agents.jl)\n\n### Non R Software for Epi\n\n - [EpiFire](https://github.com/tjhladish/EpiFire)\n - [SimpactCyan](https://github.com/j0r1/simpactcyan)\n - [Numerus Model Builder](https://www.numerusinc.com)\n - NOVA\n - [EMOD](https://www.idmod.org/tools#emod)\n - [Pathogen.jl](https://github.com/jangevaare/Pathogen.jl), a package for individual-based simulation of common compartmental models.\n\n### General R Packages\n\n - [nlrx](https://github.com/ropensci/nlrx), [RNetLogo](https://github.com/r-forge/rnetlogo), [NetLogoR](https://github.com/PredictiveEcology/NetLogoR) are NetLogo interfaces\n - [RRepast](https://github.com/antonio-pgarcia/RRepast) is a repast interface\n - [simecol](https://github.com/r-forge/simecol), provides classes and methods to enhance reproducibility of ecological models.\n\n### R based DES\n\n - [simmeR](https://github.com/r-simmer/simmer)\n - [SpaDES](https://github.com/PredictiveEcology/SpaDES)\n\n### R based IBMs\n\n - [IBMPopSim](https://github.com/DaphneGiorgi/IBMPopSim)\n - [ibm](https://github.com/roliveros-ramos/ibm)\n - [ibmcraftr](https://github.com/SaiTheinThanTun/ibmcraftr)\n\n### R based Epi\n\n - [EpiModel](https://github.com/EpiModel/EpiModel)\n - [SimInf](https://github.com/stewid/SimInf)\n - [hybridModels](https://github.com/fernandosm/hybridModels)\n - epinet\n - [EpiDynamics](https://github.com/oswaldosantos/EpiDynamics)\n - [nosoi](https://github.com/slequime/nosoi), generate synthetic data for phylogenetic analysis\n - [EpiILMCT](https://github.com/waleedalmutiry/EpiILMCT)\n - [EpiILM](https://github.com/waleedalmutiry/EpiILM)\n - [SPARSEMODr](https://github.com/cran/SPARSEMODr)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrc-ide%2Findividual","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrc-ide%2Findividual","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrc-ide%2Findividual/lists"}