{{ message }}

# malcolmbarrett / causalpie Public

ðŸ¥§ An R package for easily creating and visualizing sufficient-component cause models

Switch branches/tags
Nothing to show

## Files

Failed to load latest commit information.
Type
Name
Commit time

# causalpie: An R Package for easily creating and visualizing causal pies

`causalpie` is an R package for creating tidy sufficient-component causal models. Create and analyze sufficient causes and plot them easily in `ggplot2`.

## Installation

You can install the development version of `causalpie` from GitHub with:

```# install.packages("devtools")
devtools::install_github("malcolmbarrett/causalpie")```

## Sufficient causes and causal pies

The sufficient-component cause model (SCC), proposed by Kenneth Rothman in 1976, is a framework for understanding how events occur. Rothman, an epidemiologist, conceived of SCC to understand the causes of diseases.

Letâ€™s consider an example about disease D. There may be many paths to a person developing D. We know that A, B, and E all cause D, but we donâ€™t always need to have all three for D to occur. In SCC, A, B, and E are referred to as components. The components may combine in a multitude of ways to cause D. In fact, any of these combination will result in D:

• A = 0, B = 1
• A = 0, E = 1
• B = 1, E = 1

These different combinations are called sufficient causes, because they are sufficient to cause D. Any components that appear in all sufficient causes are called necessary causes.

In `causalpie`, you define causes using `causify`. Each sufficient cause is grouped by the `sc()` function, which takes named values (e.g.Â E = 1). By tradition, a component `U` is added to each sufficient cause to represent unknown components. This can be turned off by setting `add_u = FALSE`.

```library(causalpie)
causes <- causify(sc(A = 0, B = 1),
sc(A = 0, E = 1),
sc(B = 1, E = 1))
causes
#> # A tibble: 9 x 5
#>   component value label  frac cause
#>   <chr>     <chr> <chr> <dbl> <chr>
#> 1 A         0     A = 0  0.25 Sufficient Cause 1
#> 2 B         1     B = 1  0.25 Sufficient Cause 1
#> 3 U1        ?     U1     0.5  Sufficient Cause 1
#> 4 A         0     A = 0  0.25 Sufficient Cause 2
#> 5 E         1     E = 1  0.25 Sufficient Cause 2
#> 6 U2        ?     U2     0.5  Sufficient Cause 2
#> 7 B         1     B = 1  0.25 Sufficient Cause 3
#> 8 E         1     E = 1  0.25 Sufficient Cause 3
#> 9 U3        ?     U3     0.5  Sufficient Cause 3```

You can plot the sufficient causes as pies in `ggplot2` using `causal_pie()`, which highlights unique components, or `causal_pie_necessary()`, which highlights necessary causes.

`causal_pie(causes)`

Because both objects are ggplots, you can change themes, scales, and so on.

```causify(sc(A = 1, B = 0), sc(A = 1, E = 1, C = 0)) %>%
causal_pie_necessary() +
theme_causal_pie() +
scale_fill_manual(values = c("#56B4E9", "#E69F00"))```

ðŸ¥§ An R package for easily creating and visualizing sufficient-component cause models

## Releases

No releases published

## Packages 0

No packages published