{"id":32209433,"url":"https://github.com/adrtod/rchallenge","last_synced_at":"2026-02-21T12:01:59.619Z","repository":{"id":22930021,"uuid":"26279147","full_name":"adrtod/rchallenge","owner":"adrtod","description":"A simple datascience challenge system using R Markdown and Dropbox.","archived":false,"fork":false,"pushed_at":"2021-03-19T08:58:30.000Z","size":824,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-14T00:55:20.880Z","etag":null,"topics":["challenge","data-science","r"],"latest_commit_sha":null,"homepage":"https://adrien.tspace.fr/rchallenge/","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/adrtod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-06T16:35:04.000Z","updated_at":"2022-04-05T11:16:06.000Z","dependencies_parsed_at":"2022-08-21T16:10:39.983Z","dependency_job_id":null,"html_url":"https://github.com/adrtod/rchallenge","commit_stats":null,"previous_names":["adrtod/challenge"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/adrtod/rchallenge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrtod%2Frchallenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrtod%2Frchallenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrtod%2Frchallenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrtod%2Frchallenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adrtod","download_url":"https://codeload.github.com/adrtod/rchallenge/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrtod%2Frchallenge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29680147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T11:29:27.227Z","status":"ssl_error","status_checked_at":"2026-02-21T11:29:20.292Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["challenge","data-science","r"],"created_at":"2025-10-22T06:05:05.840Z","updated_at":"2026-02-21T12:01:59.613Z","avatar_url":"https://github.com/adrtod.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"rchallenge\n==========  \n\u003c!-- badges: start --\u003e\n[![R-CMD-check](https://github.com/adrtod/rchallenge/workflows/R-CMD-check/badge.svg)](https://github.com/adrtod/rchallenge/actions)\n[![CRAN_Status_Badge](https://www.r-pkg.org/badges/version/rchallenge)](https://cran.r-project.org/package=rchallenge)\n[![CRAN RStudio mirror downloads](https://cranlogs.r-pkg.org/badges/rchallenge)](https://www.r-pkg.org/pkg/rchallenge)\n[![GPLv2 License](https://img.shields.io/badge/license-GPLv2-blue.svg)](https://www.gnu.org/licenses/gpl-2.0.html)\n\u003c!-- badges: end --\u003e\n\nThe **rchallenge** R package provides a simple data science competition system using [R Markdown](https://rmarkdown.rstudio.com/) \nand [Dropbox](https://www.dropbox.com/) with the following features:\n\n- No network configuration required.\n- Does not depend on external platforms like e.g. [Kaggle](https://www.kaggle.com/).\n- Can be easily installed on a personal computer.\n- Provides a customizable template in english and french.\n\nFurther documentation is available in the [Reference manual](https://adrien.tspace.fr/rchallenge/reference/index.html).\n\nPlease report bugs, troubles or discussions on the [Issues](https://github.com/adrtod/rchallenge/issues) tracker. Any contribution to improve the package is welcome.\n\n## Installation\nInstall the R package from [CRAN](https://cran.r-project.org/package=rchallenge) repositories\n``` r\ninstall.packages(\"rchallenge\")\n```\nor install the latest development version from [GitHub](https://github.com/adrtod/rchallenge)\n``` r\n# install.packages(\"devtools\")\ndevtools::install_github(\"adrtod/rchallenge\")\n```\n\nA recent version of [pandoc](https://pandoc.org/) (\u003e= 1.12.3) is also required. See the [pandoc installation instructions](https://pandoc.org/installing.html) for details on installing pandoc for your platform.\n\n## Getting started\nInstall a new challenge in `Dropbox/mychallenge`:\n``` r\nsetwd(\"~/Dropbox/mychallenge\")\nlibrary(rchallenge)\nnew_challenge()\n```\n\nor for a french version:\n``` r\nnew_challenge(template = \"fr\")\n```\n\nYou will obtain a ready-to-use challenge in the folder `Dropbox/mychallenge` containing:\n\n- `challenge.rmd`: template R Markdown script for the webpage.\n- `data`: directory of the data containing `data_train` and `data_test` datasets.\n- `submissions`: directory of the submissions. It will contain one subdirectory per team where they can submit their submissions. The subdirectories are shared with Dropbox.\n- `history`: directory where the submissions history is stored.\n\n\nThe default challenge provided is a binary classification problem on the [South German Credit](https://archive.ics.uci.edu/ml/datasets/South+German+Credit) data set.\n\nYou can easily customize the challenge in two ways:\n\n- *During the creation of the challenge*: by using the options of the `new_challenge()` function.\n- *After the creation of the challenge*: by manually replacing the data files in the `data` subdirectory and the baseline predictions in `submissions/baseline` and by customizing the template `challenge.rmd` as needed.\n\n## Next steps\nTo complete the installation:\n\n1. Create and [share](https://help.dropbox.com/fr-fr/files-folders/share/share-with-others) subdirectories in `submissions` for each team:\n\n    ``` r\n    new_team(\"team_foo\", \"team_bar\")\n    ```\n\n2. Render the HTML page:\n\n    ``` r\n    publish()\n    ```\n    Use the `output_dir` argument to change the output directory.\n    Make sure the output HTML file is rendered, e.g. using [GitHub Pages](https://pages.github.com/).\n\n3. Give the URL to your HTML file to the participants.\n    \n4. Refresh the webpage by repeating step 2 on a regular basis. See below for automating this step.\n\nFrom now on, a fully autonomous challenge system is set up requiring no further \nadministration. With each update, the program automatically performs the following\ntasks using the functions available in our package:\n\n- `store_new_submissions()` reads submitted files and save new files in the history.\n- `print_readerr()` displays any read errors.\n- `compute_metrics()` calculates the scores for each submission in the history.\n- `get_best()` gets the highest score per team.\n- `print_leaderboard()` displays the leaderboard.\n- `plot_history()` plots a chart of score evolution per team.\n- `plot_activity()` plots a chart of activity per team.\n\n## Automating the updates\n\n### Unix/OSX\n\nYou can setup the following line to your [crontab](https://en.wikipedia.org/wiki/Cron) using `crontab -e` (mind the quotes):\n```\n0 * * * * Rscript -e 'rchallenge::publish(\"~/Dropbox/mychallenge/challenge.rmd\")'\n```\nThis will render a HTML webpage every hour.\nUse the `output_dir` argument to change the output directory.\n\nIf your challenge is hosted on a Github repository you can automate the push:\n```\n0 * * * * cd ~/Dropbox/mychallenge \u0026\u0026 Rscript -e 'rchallenge::publish()' \u0026\u0026 git commit -m \"update html\" index.html \u0026\u0026 git push\n```\n\nYou might have to add the path to Rscript and pandoc at the beginning of your crontab:\n```\nPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\n```\n\nDepending on your system or pandoc version you might also have to explicitly add the encoding option to the command:\n```\n0 * * * * Rscript -e 'rchallenge::publish(\"~/Dropbox/mychallenge/challenge.rmd\", encoding = \"utf8\")'\n```\n\n\n### Windows\n\nYou can use the [Task Scheduler](https://www.windowscentral.com/how-create-automated-task-using-task-scheduler-windows-10) to create a new task with a *Start a program* action with the settings (mind the quotes):\n\n- *Program/script*: `Rscript.exe`\n- *options*: `-e rchallenge::publish('~/Dropbox/mychallenge/challenge.rmd')`\n\n## Issues\n\n- The rendering of HTML content provided by Dropbox will be discontinued from the 3rd October 2016 for Basic users and the 1st September 2017 for Pro and Business users. See \u003chttps://help.dropbox.com/fr-fr/files-folders/share/public-folder\u003e. Alternatively, [GitHub Pages](https://pages.github.com/) provide an easy HTML publishing solution via a simple GitHub repository.\n- version 1.16 of pandoc fails to fetch font awesome css, see \u003chttps://github.com/jgm/pandoc/issues/2737\u003e.\n\n## Examples\n- [Credit approval](https://adrien.tspace.fr/challenge-mimse2014/) (in french) by Adrien Todeschini (Bordeaux).\n\n- [Spam filter](https://chavent.github.io/challenge-mmas/) (in french) by Marie Chavent (Bordeaux).\n\nPlease [contact me](https://adrien.tspace.fr/) to add yours.\n\n## Copyright\nCopyright (C) 2014-2015 [Adrien Todeschini](https://adrien.tspace.fr/).\n\nContributions from [Robin Genuer](http://robin.genuer.fr/).\n\nThe **rchallenge** package is licensed under the GPLv2 (https://www.gnu.org/licenses/gpl-2.0.html).\n\n## To do list\n- [ ] do not take baseline into account in ranking\n- [ ] examples, tests, vignettes\n- [ ] interactive plots with `ggvis`\n- [ ] check arguments\n- [ ] interactive webpage using [Shiny](https://shiny.rstudio.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrtod%2Frchallenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrtod%2Frchallenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrtod%2Frchallenge/lists"}