Browse Source

feb 25

master
boB Rudis 4 years ago
parent
commit
70de18b6cd
No known key found for this signature in database GPG Key ID: 1D7529BE14E2BBA9
  1. 8
      DESCRIPTION
  2. 3
      NEWS.md
  3. 12
      README.md
  4. 635
      data-raw/2020-02-25-us-elections-debate-speaking-time.html
  5. 83
      data-raw/debates2019.R
  6. BIN
      data/debates2019.rda
  7. 4
      man/ggchicklet.Rd

8
DESCRIPTION

@ -1,8 +1,8 @@
Package: ggchicklet Package: ggchicklet
Type: Package Type: Package
Title: Create 'Chicklet' (Rounded Segmented Column) Charts Title: Create 'Chicklet' (Rounded Segmented Column) Charts
Version: 0.5.0 Version: 0.5.2
Date: 2020-02-07 Date: 2020-02-25
Authors@R: c( person("Bob", "Rudis", email = "bob@rud.is", role = Authors@R: c( person("Bob", "Rudis", email = "bob@rud.is", role =
c("aut", "cre"), comment = c(ORCID = "0000-0001-5670-2640")), c("aut", "cre"), comment = c(ORCID = "0000-0001-5670-2640")),
person("Antoine", "Bichat", role = "ctb") ) person("Antoine", "Bichat", role = "ctb") )
@ -10,8 +10,8 @@ Maintainer: Bob Rudis <bob@rud.is>
Description: Sometimes it is useful to stylize column charts a bit more Description: Sometimes it is useful to stylize column charts a bit more
than just bland rectangles. Methods are provided to create than just bland rectangles. Methods are provided to create
rounded rectangle segmented column charts (i.e. 'chicklets'). rounded rectangle segmented column charts (i.e. 'chicklets').
URL: https://gitlab.com/hrbrmstr/ggchicklet URL: https://git.rud.is/hrbrmstr/ggchicklet
BugReports: https://gitlab.com/hrbrmstr/ggchicklet/issues BugReports: https://git.rud.is/hrbrmstr/ggchicklet/issues
Encoding: UTF-8 Encoding: UTF-8
License: MIT + file LICENSE License: MIT + file LICENSE
Suggests: covr, hrbrthemes, dplyr, forcats, knitr, rmarkdown, Suggests: covr, hrbrthemes, dplyr, forcats, knitr, rmarkdown,

3
NEWS.md

@ -1,3 +1,6 @@
0.5.2
* Data updated for latest debate (2020-02-25)
0.5.1 0.5.1
* Data updated for latest debate (2020-02-19) * Data updated for latest debate (2020-02-19)

12
README.md

@ -58,7 +58,7 @@ library(ggchicklet)
# current version # current version
packageVersion("ggchicklet") packageVersion("ggchicklet")
## [1] '0.5.0' ## [1] '0.5.2'
``` ```
### From the NYTimes ### From the NYTimes
@ -116,11 +116,11 @@ debates2019 %>%
## ggchicklet Metrics ## ggchicklet Metrics
| Lang | \# Files | (%) | LoC | (%) | Blank lines | (%) | \# Lines | (%) | | Lang | \# Files | (%) | LoC | (%) | Blank lines | (%) | \# Lines | (%) |
| :--- | -------: | --: | ---: | ---: | ----------: | ---: | -------: | ---: | | :--- | -------: | ---: | ----: | ---: | ----------: | ---: | -------: | ---: |
| HTML | 10 | 0.5 | 9426 | 0.93 | 2765 | 0.97 | 425 | 0.67 | | HTML | 12 | 0.55 | 10200 | 0.92 | 3169 | 0.97 | 501 | 0.71 |
| R | 8 | 0.4 | 642 | 0.06 | 40 | 0.01 | 122 | 0.19 | | R | 8 | 0.36 | 788 | 0.07 | 45 | 0.01 | 122 | 0.17 |
| Rmd | 2 | 0.1 | 117 | 0.01 | 45 | 0.02 | 85 | 0.13 | | Rmd | 2 | 0.09 | 117 | 0.01 | 45 | 0.01 | 85 | 0.12 |
## Code of Conduct ## Code of Conduct

635
data-raw/2020-02-25-us-elections-debate-speaking-time.html

File diff suppressed because one or more lines are too long

83
data-raw/debates2019.R

@ -27,6 +27,7 @@ if (!file.exists(here::here("data-raw/2019-12-19-us-elections-debate-speaking-ti
if (!file.exists(here::here("data-raw/2020-01-14-us-elections-debate-speaking-time.html"))) download.file("https://www.nytimes.com/interactive/2020/01/14/us/politics/debate-speaking-time.html", here::here("data-raw/2020-01-14-us-elections-debate-speaking-time.html")) if (!file.exists(here::here("data-raw/2020-01-14-us-elections-debate-speaking-time.html"))) download.file("https://www.nytimes.com/interactive/2020/01/14/us/politics/debate-speaking-time.html", here::here("data-raw/2020-01-14-us-elections-debate-speaking-time.html"))
if (!file.exists(here::here("data-raw/2020-02-07-us-elections-debate-speaking-time.html"))) download.file("https://www.nytimes.com/interactive/2020/02/07/us/elections/debate-speaking-time.html", here::here("data-raw/2020-02-07-us-elections-debate-speaking-time.html")) if (!file.exists(here::here("data-raw/2020-02-07-us-elections-debate-speaking-time.html"))) download.file("https://www.nytimes.com/interactive/2020/02/07/us/elections/debate-speaking-time.html", here::here("data-raw/2020-02-07-us-elections-debate-speaking-time.html"))
if (!file.exists(here::here("data-raw/2020-02-19-us-elections-debate-speaking-time.html"))) download.file("https://www.nytimes.com/interactive/2020/02/19/us/elections/debate-speaking-time.html", here::here("data-raw/2020-02-19-us-elections-debate-speaking-time.html")) if (!file.exists(here::here("data-raw/2020-02-19-us-elections-debate-speaking-time.html"))) download.file("https://www.nytimes.com/interactive/2020/02/19/us/elections/debate-speaking-time.html", here::here("data-raw/2020-02-19-us-elections-debate-speaking-time.html"))
if (!file.exists(here::here("data-raw/2020-02-25-us-elections-debate-speaking-time.html"))) download.file("https://www.nytimes.com/interactive/2020/02/25/us/elections/debate-speaking-time.html", here::here("data-raw/2020-02-25-us-elections-debate-speaking-time.html"))
read_html(here::here("data-raw/2019-06-26-us-elections-debate-speaking-time.html")) %>% read_html(here::here("data-raw/2019-06-26-us-elections-debate-speaking-time.html")) %>%
html_nodes(xpath = ".//script[contains(., 'NYTG_DEMDEBATES')]") %>% html_nodes(xpath = ".//script[contains(., 'NYTG_DEMDEBATES')]") %>%
@ -490,7 +491,7 @@ read_html(here::here("data-raw/2020-02-07-us-elections-debate-speaking-time.html
as_tibble() %>% as_tibble() %>%
mutate( mutate(
elapsed = as.numeric(elapsed)/60, elapsed = as.numeric(elapsed)/60,
debate_date = as.Date("2020-01-14"), debate_date = as.Date("2020-02-07"),
speaker = stri_trans_totitle(speaker), speaker = stri_trans_totitle(speaker),
timestamp = parse_time(timestamp), timestamp = parse_time(timestamp),
debate_group = 8, debate_group = 8,
@ -557,7 +558,7 @@ read_html(here::here("data-raw/2020-02-19-us-elections-debate-speaking-time.html
as_tibble() %>% as_tibble() %>%
mutate( mutate(
elapsed = as.numeric(elapsed)/60, elapsed = as.numeric(elapsed)/60,
debate_date = as.Date("2020-01-14"), debate_date = as.Date("2020-02-19"),
speaker = stri_trans_totitle(speaker), speaker = stri_trans_totitle(speaker),
timestamp = parse_time(timestamp), timestamp = parse_time(timestamp),
debate_group = 9, debate_group = 9,
@ -565,8 +566,6 @@ read_html(here::here("data-raw/2020-02-19-us-elections-debate-speaking-time.html
) %>% ) %>%
filter(speaker != "") %>% filter(speaker != "") %>%
filter(!is.na(timestamp)) %>% filter(!is.na(timestamp)) %>%
# distinct(topic) %>%
# print(n=nrow(.))
mutate( mutate(
topic = case_when( topic = case_when(
topic == "" ~ "Other", topic == "" ~ "Other",
@ -618,6 +617,78 @@ read_html(here::here("data-raw/2020-02-19-us-elections-debate-speaking-time.html
as_tibble() -> feb_19_day_1 as_tibble() -> feb_19_day_1
read_html(here::here("data-raw/2020-02-25-us-elections-debate-speaking-time.html")) %>%
html_nodes(xpath = ".//script[contains(., 'NYTG_DEMDEBATES')]") %>%
html_text() %>%
stri_split_lines() %>%
unlist() %>%
.[3] %>%
stri_replace_first_regex("^.*NYTG_DEMDEBATES = ", "") %>%
jsonlite::fromJSON() %>%
as_tibble() %>%
mutate(
elapsed = as.numeric(elapsed)/60,
debate_date = as.Date("2020-02-25"),
speaker = stri_trans_totitle(speaker),
timestamp = parse_time(timestamp),
debate_group = 10,
night = 1
) %>%
filter(speaker != "") %>%
filter(!is.na(timestamp)) %>%
mutate(
topic = case_when(
topic == "" ~ "Other",
grepl("coronavirus", topic) ~ "Coronavirus",
grepl("military", topic) ~ "Military",
grepl("climate", topic) ~ "Climate",
grepl("closing", topic) ~ "Closing",
grepl("judges", topic) ~ "Judges",
grepl("race", topic) ~ "Race",
grepl("Climate-change", topic) ~ "Climate",
grepl("poverty", topic) ~ "Poverty",
grepl("education", topic) ~ "Education",
grepl("bloomberg", topic) ~ "Bloomberg",
grepl("human-rights", topic) ~ "Human Rights",
grepl("criminal-justice", topic) ~ "Criminal Justice",
grepl("racial-justice", topic) ~ "Racial Justice",
grepl("electability", topic) ~ "Electability",
grepl("election-reform", topic) ~ "Election Reform",
grepl("executive-power", topic) ~ "Executive Power",
grepl("candidate-age", topic) ~ "Age",
grepl("supreme-court", topic) ~ "Supreme Court",
grepl("foreign-policy", topic) ~ "Foreign Policy",
grepl("gun-control", topic) ~ "Gun Control",
grepl("child-care", topic) ~ "Child Care",
grepl("party-loyalty", topic) ~ "Party Loyalty",
grepl("health-care", topic) ~ "Healthcare",
grepl("immigration", topic) ~ "Immigration",
grepl("impeachment", topic) ~ "Impeachment",
grepl("economic-inequality", topic) ~ "Income Inequality",
grepl("income-inequality", topic) ~ "Income Inequality",
grepl("female-president", topic) ~ "Female President",
grepl("trade", topic) ~ "Trade",
grepl("economy", topic) ~ "Economy",
grepl("sexism", topic) ~ "Sexism",
grepl("middle-east policy", topic) ~ "Foreign Policy",
grepl("opioids", topic) ~ "Opioids",
grepl("party-strategy", topic) ~ "Party Strategy",
grepl("public-service", topic) ~ "Public Service",
grepl("tech-companies", topic) ~ "Tech Companies",
grepl("white-supremacist violence", topic) ~ "White-Supremacy",
grepl("womens-issues", topic) ~ "Women's Rights",
topic == "" ~ "Other",
TRUE ~ topic
)
) %>%
filter(
!is.na(timestamp),
speaker != "",
speaker != "Moderator"
) %>%
as_tibble() -> feb_25_day_1
bind_rows( bind_rows(
jun_day_1, jun_day_1,
jun_day_2, jun_day_2,
@ -629,10 +700,12 @@ bind_rows(
dec_day_1, dec_day_1,
jan_20_day_1, jan_20_day_1,
feb_07_day_1, feb_07_day_1,
feb_19_day_1 feb_19_day_1,
feb_25_day_1
) %>% ) %>%
mutate(topic = case_when( mutate(topic = case_when(
grepl("elect.*form", topic, ignore.case = TRUE) ~ "Election Reform", grepl("elect.*form", topic, ignore.case = TRUE) ~ "Election Reform",
grepl("transparency", topic, ignore.case = TRUE) ~ "Transparency",
TRUE ~ topic TRUE ~ topic
)) -> debates2019 )) -> debates2019

BIN
data/debates2019.rda

Binary file not shown.

4
man/ggchicklet.Rd

@ -26,8 +26,8 @@ A sample of the output from \code{geom_chicklet()}:
\seealso{ \seealso{
Useful links: Useful links:
\itemize{ \itemize{
\item \url{https://gitlab.com/hrbrmstr/ggchicklet} \item \url{https://git.rud.is/hrbrmstr/ggchicklet}
\item Report bugs at \url{https://gitlab.com/hrbrmstr/ggchicklet/issues} \item Report bugs at \url{https://git.rud.is/hrbrmstr/ggchicklet/issues}
} }
} }

Loading…
Cancel
Save