-
Notifications
You must be signed in to change notification settings - Fork 105
/
README.Rmd
executable file
·120 lines (80 loc) · 5.28 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
---
output: github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
library(fivethirtyeight)
library(dplyr)
```
# fivethirtyeight
<!-- badges: start -->
[![R-CMD-check](https://github.com/rudeboybert/fivethirtyeight/workflows/R-CMD-check/badge.svg)](https://github.com/rudeboybert/fivethirtyeight/actions)
[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://www.tidyverse.org/lifecycle/#stable)
[![CRAN_Status_Badge](https://www.r-pkg.org/badges/version/fivethirtyeight)](https://cran.r-project.org/package=fivethirtyeight)
[![CRAN RStudio mirror downloads](https://cranlogs.r-pkg.org/badges/fivethirtyeight)](https://www.r-pkg.org/pkg/fivethirtyeight)
<!-- badges: end -->
An R package that provides access to the code and data sets published by FiveThirtyEight <https://github.com/fivethirtyeight/data>. Note that while we received guidance from editors at 538, this package is not officially published by 538.
## Installation
Get the latest released version from CRAN:
```{r, eval = FALSE}
install.packages("fivethirtyeight")
```
Or the development version from GitHub:
```{r, eval = FALSE}
# If you haven't installed the remotes package yet, do so:
# install.packages("remotes")
remotes::install_github("rudeboybert/fivethirtyeight", build_vignettes = TRUE)
```
## Usage
All data in the `fivethirtyeight` package are lazy-loaded, so you can access
any dataset without running `data()`:
```{r, eval = FALSE}
library(fivethirtyeight)
head(bechdel)
?bechdel
# If using RStudio:
View(bechdel)
```
To see a detailed list of all `r nrow(data(package = "fivethirtyeight")[[3]]) - 1` datasets, including information on the corresponding articles published on FiveThirtyEight.com, click [here](https://fivethirtyeight-r.netlify.com/articles/fivethirtyeight.html).
## Add-on Package
```{r, echo=FALSE}
all_fivethirtyeightdata_datasets <- data(package = "fivethirtyeightdata")[["results"]] %>%
as_tibble() %>%
pull(Item) %>%
sort()
```
There are also `r all_fivethirtyeightdata_datasets %>% length()` datasets that could not be included in `fivethirtyeight` due to CRAN package size restrictions:
```{r, message=FALSE, warning=FALSE, echo=FALSE}
all_fivethirtyeightdata_datasets
```
These `r all_fivethirtyeightdata_datasets %>% length()` datasets are included in the `fivethirtyeightdata` add-on package, which you can install by running:
```{r, eval=FALSE}
install.packages('fivethirtyeightdata', repos = 'https://fivethirtyeightdata.github.io/drat/', type = 'source')
```
So for example, to load the `senators` dataset, run:
```{r, eval = FALSE}
library(fivethirtyeight)
library(fivethirtyeightdata)
senators
```
## Article in "Technology Innovations in Statistics Education"
The `fivethirtyeight` package was featured in [The fivethirtyeight R Package: "Tame Data" Principles for Introductory Statistics and Data Science Courses](https://escholarship.org/uc/item/0rx1231m) by Kim, Ismay, and Chunn (2018) published in Volume 11, Issue 1 of the journal "Technology Innovations in Statistics Education".
**Abstract**: *As statistics and data science instructors, we often seek to use data in our courses that are rich, real, realistic, and relevant. To this end we created the fivethirtyeight R package of data and code behind the stories and interactives at the data journalism website FiveThirtyEight.com. After a discussion on the conflicting pedagogical goals of "minimizing prerequisites to research" (Cobb 2015) while at the same time presenting students with a realistic view of data as it exists "in the wild," we articulate how a desired balance between these two goals informed the design of the package. The details behind this balance are articulated as our proposed "Tame data principles for introductory statistics and data science courses." Details of the package's construction and example uses are included as well.*
## Data Analysis Examples in Vignettes
For some data sets, there are user-contributed example analyses in the form a package vignette. For example, look at ["Bechdel analysis using the `tidyverse`"](https://fivethirtyeightdata.github.io/fivethirtyeightdata/articles/bechdel.html) based on the `bechdel` dataset used in the article
[The Dollar-And-Cents Case Against Hollywood's Exclusion of
Women](https://fivethirtyeight.com/features/the-dollar-and-cents-case-against-hollywoods-exclusion-of-women). For a complete list of vignettes run
```{r, eval = FALSE}
vignette("user_contributed_vignettes", package = "fivethirtyeightdata")
```
## More Information
* [Andrew Flowers](https://www.linkedin.com/in/andrew-flowers-1319934/) gave a great demonstration of the package and the `bechdel` vignette during his rstudio::conf talk in Orlando, Florida in January 2017. The video of his talk is available [here](https://rstudio.com/resources/rstudioconf-2017/finding-and-telling-stories-with-r/).
* Click this [Google Sheet](https://docs.google.com/spreadsheets/d/1IMWAHNPIDzplafWW6AGnGyHmB1BMjohEw_V5HmT70Gs/edit#gid=840984416) for a master spreadsheet connecting
1. the original 538 data on [GitHub](https://github.com/fivethirtyeight/data) with
1. the data frames in the package with
1. information on the corresponding article