{"id":32200490,"url":"https://github.com/jtfeld/elooptimized","last_synced_at":"2025-10-22T03:49:14.336Z","repository":{"id":56934859,"uuid":"147549979","full_name":"jtfeld/EloOptimized","owner":"jtfeld","description":"Maximum-likelihood fitting of Elo scores","archived":false,"fork":false,"pushed_at":"2024-05-21T22:49:57.000Z","size":9237,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-22T03:49:13.074Z","etag":null,"topics":["elo","elo-rating","maximum-likelihood-estimation"],"latest_commit_sha":null,"homepage":"https://jtfeld.github.io/EloOptimized/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jtfeld.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-09-05T16:44:38.000Z","updated_at":"2024-09-09T18:07:00.000Z","dependencies_parsed_at":"2024-05-21T17:58:22.161Z","dependency_job_id":"bbb6e352-e92d-4dcd-a086-fb30614cac77","html_url":"https://github.com/jtfeld/EloOptimized","commit_stats":{"total_commits":89,"total_committers":3,"mean_commits":"29.666666666666668","dds":0.0337078651685393,"last_synced_commit":"010fd7ae15806d6e60d6d626ff6cda59fe8bf8ab"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jtfeld/EloOptimized","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtfeld%2FEloOptimized","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtfeld%2FEloOptimized/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtfeld%2FEloOptimized/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtfeld%2FEloOptimized/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jtfeld","download_url":"https://codeload.github.com/jtfeld/EloOptimized/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtfeld%2FEloOptimized/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280376536,"owners_count":26320276,"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-10-22T02:00:06.515Z","response_time":63,"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":["elo","elo-rating","maximum-likelihood-estimation"],"created_at":"2025-10-22T03:49:11.603Z","updated_at":"2025-10-22T03:49:14.331Z","avatar_url":"https://github.com/jtfeld.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, echo = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"README-\"\n)\n```\n\n```{r,echo = FALSE}\nlibrary(EloOptimized)\n```\n\n# EloOptimized\n\n  \u003c!-- badges: start --\u003e\n  \n  [![R-CMD-check](https://github.com/jtfeld/EloOptimized/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/jtfeld/EloOptimized/actions/workflows/R-CMD-check.yaml)\n  [![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/EloOptimized)](https://cran.r-project.org/package=EloOptimized)\n  [![](https://cranlogs.r-pkg.org/badges/grand-total/EloOptimized)](https://cran.r-project.org/package=EloOptimized)\n  \u003c!-- badges: end --\u003e\n  \n\n\n\n\n[Package website](https://jtfeld.github.io/EloOptimized/)\n\nEloOptimized provides tools to implement the maximum likelihood methods for deriving Elo scores as published in [Foerster, Franz et al. (2016).  Chimpanzee females queue but males compete for social status](https://www.nature.com/articles/srep35404).  In addition, it provides functionality to efficiently generate traditional Elo scores using a simplified procedure that doesn't require the use of cumbersome presence matrices.  Finally, it quickly generates a number of additional Elo-based indices (ordinal, normalized, cardinal, and categorical ranks and rank scores) of potential use to researchers, as outlined in the linked manuscript.\n\n## Installation\n\n```{r gh-installation, eval = FALSE}\n# Current version on Github:\n# install.packages(\"devtools\")\ndevtools::install_github(\"jtfeld/EloOptimized\")\n\n# CRAN-approved version on CRAN:\ninstall.packages(\"EloOptimized\")\n\n```\n\n## Example\n\nThere are two functions of interest.  Use eloratingopt() to calculate Elo scores using optimized Elo parameter values, or eloratingfixed() to calculate Elo scores using user-defined parameter values.\n\n```{r example, eval = FALSE}\n# to generate Elo scores using fixed initial Elo scores (1000) and a ML-fitted value for the K parameter:\nnbaelo = eloratingopt(agon_data = nba, fit_init_elo = FALSE)\n\n# to generate Elo scores using fixed default initial Elo scores and default K:\nnbaelo = eloratingfixed(agon_data = nba, k = 100, init_elo = 1000)\n```\n\nTo recreate the results from the 2016 manuscript, use the following code:\n\n```{r MS example, eval = FALSE}\n# Males, model type 1:\nmelo1 = eloratingopt(agon_data = chimpagg_m, pres_data = chimppres_m, fit_init_elo = F)\n\n# Males, model type 3:\nmelo3 = eloratingopt(agon_data = chimpagg_m[101:nrow(chimpagg_m),], \n                     pres_data = chimppres_m, fit_init_elo = T)\n\n# Females, model type 1: \nfelo1 = eloratingopt(agon_data = chimpagg_f, pres_data = chimppres_f, fit_init_elo = F)\n\n# Females, model type 3:\nfelo3 = eloratingopt(agon_data = chimpagg_f[101:nrow(chimpagg_f),], \n                     pres_data = chimppres_f, fit_init_elo = T)\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtfeld%2Felooptimized","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjtfeld%2Felooptimized","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtfeld%2Felooptimized/lists"}