项目作者: adibender

项目描述 :
Coalition probabilities in multi-party democracies
高级语言: R
项目地址: git://github.com/adibender/coalitions.git
创建时间: 2013-11-06T09:56:30Z
项目社区:https://github.com/adibender/coalitions

开源协议:Other

下载


" class="reference-link">coalitions

Travis-CI Build Status
AppVeyor Build Status
Coverage Status
CRAN\_Status\_Badge

MIT license

Overview

The coalitions package implements a Bayesian framework for the estimation of
event probabilities in multi-party electoral systems (Bauer and others, 2019).
To support estimation the package also implements scrappers that
obtain data for German federal and general elections as well as Austrian
general election. The implementation can be extended to support other elections.

  1. # To install from CRAN use:
  2. install.packages("coalitions")
  3. # To install the most current version from GitHub use:
  4. devtools::install_github("adibender/coalitions")

Usage

Detailed workflow is outlined in the
workflow
vignette.

A short overview is presented below.

Scrape surveys

The wrapper get_surveys() which takes no arguments, downloads all
surveys currently available at wahlrecht
and stores them in a nested tibble:

  1. library(coalitions)
  2. library(dplyr)
  3. library(tidyr)
  4. surveys <- get_surveys()
  5. surveys
  1. ## # A tibble: 7 x 2
  2. ## pollster surveys
  3. ## <chr> <list>
  4. ## 1 allensbach <tibble [42 × 5]>
  5. ## 2 emnid <tibble [226 × 5]>
  6. ## 3 forsa <tibble [236 × 5]>
  7. ## 4 fgw <tibble [84 × 5]>
  8. ## 5 gms <tibble [96 × 5]>
  9. ## 6 infratest <tibble [110 × 5]>
  10. ## 7 insa <tibble [305 × 5]>

Each row represents a polling agency and each row in the surveys
column again contains a nested tibble with survey results from
different time-points:

  1. surveys %>%
  2. filter(pollster == "allensbach") %>%
  3. unnest()
  1. ## # A tibble: 42 x 6
  2. ## pollster date start end respondents survey
  3. ## <chr> <date> <date> <date> <dbl> <list>
  4. ## 1 allensbach 2018-02-23 2018-02-02 2018-02-15 1271 <tibble [7 × 3…
  5. ## 2 allensbach 2018-01-25 2018-01-05 2018-01-18 1221 <tibble [7 × 3…
  6. ## 3 allensbach 2017-12-21 2017-12-01 2017-12-14 1443 <tibble [7 × 3…
  7. ## 4 allensbach 2017-11-30 2017-11-22 2017-11-27 1299 <tibble [7 × 3…
  8. ## 5 allensbach 2017-10-25 2017-10-07 2017-10-19 1454 <tibble [7 × 3…
  9. ## 6 allensbach 2017-09-22 2017-09-13 2017-09-20 1074 <tibble [7 × 3…
  10. ## 7 allensbach 2017-09-19 2017-09-06 2017-09-14 1083 <tibble [7 × 3…
  11. ## 8 allensbach 2017-09-06 2017-08-22 2017-08-31 1043 <tibble [7 × 3…
  12. ## 9 allensbach 2017-08-22 2017-08-04 2017-08-17 1421 <tibble [7 × 3…
  13. ## 10 allensbach 2017-07-18 2017-07-01 2017-07-12 1403 <tibble [7 × 3…
  14. ## # ... with 32 more rows
  1. survey <- surveys %>% unnest() %>% slice(1)
  2. survey %>% unnest()
  1. ## # A tibble: 7 x 8
  2. ## pollster date start end respondents party percent
  3. ## <chr> <date> <date> <date> <dbl> <chr> <dbl>
  4. ## 1 allensbach 2018-02-23 2018-02-02 2018-02-15 1271 cdu 32.0
  5. ## 2 allensbach 2018-02-23 2018-02-02 2018-02-15 1271 spd 17.5
  6. ## 3 allensbach 2018-02-23 2018-02-02 2018-02-15 1271 greens 12.0
  7. ## 4 allensbach 2018-02-23 2018-02-02 2018-02-15 1271 fdp 11.0
  8. ## 5 allensbach 2018-02-23 2018-02-02 2018-02-15 1271 left 9.50
  9. ## 6 allensbach 2018-02-23 2018-02-02 2018-02-15 1271 afd 13.0
  10. ## 7 allensbach 2018-02-23 2018-02-02 2018-02-15 1271 others 5.00
  11. ## # ... with 1 more variable: votes <dbl>

Calculate coalition probabilities

For each survey (row) we can calculate the coalition probabilities

  1. survey %>% get_probabilities(nsim=1e4) %>% unnest()
  1. ## # A tibble: 6 x 4
  2. ## pollster date coalition probability
  3. ## <chr> <date> <chr> <dbl>
  4. ## 1 allensbach 2018-02-23 cdu 0
  5. ## 2 allensbach 2018-02-23 cdu_fdp 0.0500
  6. ## 3 allensbach 2018-02-23 cdu_fdp_greens 100.0
  7. ## 4 allensbach 2018-02-23 spd 0
  8. ## 5 allensbach 2018-02-23 left_spd 0
  9. ## 6 allensbach 2018-02-23 greens_left_spd 0

References

Bauer, Alexander, Andreas Bender, André Klima, and Helmut Küchenhoff. 2019. “KOALA: A New Paradigm for Election Coverage.” AStA Advances in Statistical Analysis, June. https://doi.org/10.1007/s10182-019-00352-6.

Bender, Andreas, and Alexander Bauer. 2018. “Coalitions: Coalition Probabilities in Multi-Party Democracies,” March. https://doi.org/10.21105/joss.00606.