{"id":13710957,"url":"https://inbo.github.io/effectclass/","last_synced_at":"2025-05-06T20:31:25.514Z","repository":{"id":71693602,"uuid":"187998884","full_name":"inbo/effectclass","owner":"inbo","description":"Interpret effects and visualise uncertainty","archived":false,"fork":false,"pushed_at":"2025-04-04T10:30:50.000Z","size":5392,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-02T18:53:19.315Z","etag":null,"topics":["effect-size","fan-chart","r","r-package","r-stats"],"latest_commit_sha":null,"homepage":"https://inbo.github.io/effectclass","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inbo.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":".zenodo.json"}},"created_at":"2019-05-22T08:44:06.000Z","updated_at":"2024-08-22T15:05:18.000Z","dependencies_parsed_at":"2023-03-26T15:48:47.671Z","dependency_job_id":"a0418278-e99b-44a1-9a09-fc275444f799","html_url":"https://github.com/inbo/effectclass","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inbo%2Feffectclass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inbo%2Feffectclass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inbo%2Feffectclass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inbo%2Feffectclass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inbo","download_url":"https://codeload.github.com/inbo/effectclass/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252764298,"owners_count":21800668,"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","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":["effect-size","fan-chart","r","r-package","r-stats"],"created_at":"2024-08-02T23:01:02.659Z","updated_at":"2025-05-06T20:31:25.438Z","avatar_url":"https://github.com/inbo.png","language":"R","readme":"# effectclass\n\n\u003c!-- badges: start --\u003e\n[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n[![Lifecycle: stable](https://lifecycle.r-lib.org/articles/figures/lifecycle-stable.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable)\n![GitHub](https://img.shields.io/github/license/inbo/effectclass)\n[![License](https://img.shields.io/badge/license-GPL--3-blue.svg?style=flat)](https://www.gnu.org/licenses/gpl-3.0.html)\n[![Release](https://img.shields.io/github/release/inbo/effectclass.svg)](https://github.com/inbo/effectclass/releases)\n[![R build status](https://github.com/inbo/effectclass/workflows/check%20package%20on%20main/badge.svg)](https://github.com/inbo/effectclass/actions)\n![r-universe name](https://inbo.r-universe.dev/badges/:name?color=c04384)\n![r-universe package](https://inbo.r-universe.dev/badges/effectclass)\n[![Codecov test coverage](https://codecov.io/gh/inbo/effectclass/branch/main/graph/badge.svg)](https://app.codecov.io/gh/inbo/effectclass?branch=main)\n![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/inbo/effectclass.svg)\n![GitHub repo size](https://img.shields.io/github/repo-size/inbo/effectclass.svg)\n\u003c!-- badges: end --\u003e\n\nThe `effectclass` package helps interpreting effects and visualising uncertainty. \n\nIt classifies the effects by comparing a coverage interval with a reference, lower and upper threshold. The result is a 10 scale classification of the effect. You can reduced it to a 4 scale classification. `effectclass` provides `stat_effect()` and `scale_effect()` to visualise the effects as points with different shapes.\n\nThe Bank of England visualises uncertainty by using a fan plot^[Britton, E.; Fisher, P. \u0026 J. Whitley (1998). [The Inflation Report Projections: Understanding the Fan Chart](https://www.bankofengland.co.uk/-/media/boe/files/quarterly-bulletin/1998/the-inflation-report-projections-understanding-the-fan-chart). Bank of England Quarterly Bulletin. Retrieved 2019-05-22.]. Instead of displaying a single coverage interval, they recommend to display a bunch of coverage intervals with different levels of transparency.\n\n## Installation\n\nYou can install the released version of `effectclass` from [GitHub](https://github.com/inbo/effectclass) with:\n\n``` r\n# installation requires the \"remotes\" package\n# install.package(\"remotes\")\n\nremotes::install_github(\"inbo/effectclass\")\n```\n\n## Example\n\nClassifying effect for usage in a table\n\n``` r\nlibrary(effectclass)\nz \u003c- data.frame(\n  effect = c(\"unknown\\neffect\", \"potential\\npositive\\neffect\",\n             \"potential\\nnegative\\neffect\", \"no effect\", \"positive\\neffect\",\n             \"negative\\neffect\", \"moderate\\npositive\\neffect\",\n             \"moderate\\nnegative\\neffect\", \"strong\\npositive\\neffect\",\n             \"strong\\nnegative\\neffect\"),\n  estimate = c( 0,  0,    0,   0,   1,   -1,   0.5, -0.5, 1.5, -1.5),\n  lcl =      c(-2, -0.9, -2,  -0.9, 0.1, -2,   0.1, -0.9, 1.1, -2),\n  ucl =      c( 2,  2,    0.9, 0.9, 2,   -0.1, 0.9, -0.1, 2,   -1.1)\n)\nclassification(z$lcl, z$ucl, threshold = c(-1, 1), reference = 0)\n```\n\nAdding a classification to a plot\n\n``` r\nlibrary(ggplot2)\nggplot(z, aes(x = effect, y = estimate, ymin = lcl, ymax = ucl)) +\n  stat_effect(threshold = c(-1, 1), reference = 0, size = 3)\n```\n\nCreating a fan plot\n\n``` r\nz \u003c- data.frame(year = 1990:2019, dx = rnorm(30), s = rnorm(30, 1, 0.05))\nz$index \u003c- cumsum(z$dx)\nlibrary(ggplot2)\nggplot(z, aes(x = year, y = index, link_sd = s)) + stat_fan() + geom_line()\n```\n","funding_links":[],"categories":["Plot layers"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/inbo.github.io%2Feffectclass%2F","html_url":"https://awesome.ecosyste.ms/projects/inbo.github.io%2Feffectclass%2F","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/inbo.github.io%2Feffectclass%2F/lists"}