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
Type: Package
Title: Create 'Chicklet' (Rounded Segmented Column) Charts
Version: 0.5.0
Date: 2020-02-07
Version: 0.5.2
Date: 2020-02-25
Authors@R: c( person("Bob", "Rudis", email = "bob@rud.is", role =
c("aut", "cre"), comment = c(ORCID = "0000-0001-5670-2640")),
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
than just bland rectangles. Methods are provided to create
rounded rectangle segmented column charts (i.e. 'chicklets').
URL: https://gitlab.com/hrbrmstr/ggchicklet
BugReports: https://gitlab.com/hrbrmstr/ggchicklet/issues
URL: https://git.rud.is/hrbrmstr/ggchicklet
BugReports: https://git.rud.is/hrbrmstr/ggchicklet/issues
Encoding: UTF-8
License: MIT + file LICENSE
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
* Data updated for latest debate (2020-02-19)

12
README.md

@ -58,7 +58,7 @@ library(ggchicklet)
# current version
packageVersion("ggchicklet")
## [1] '0.5.0'
## [1] '0.5.2'
```
### From the NYTimes
@ -116,11 +116,11 @@ debates2019 %>%
## ggchicklet Metrics
| Lang | \# Files | (%) | LoC | (%) | Blank lines | (%) | \# Lines | (%) |
| :--- | -------: | --: | ---: | ---: | ----------: | ---: | -------: | ---: |
| HTML | 10 | 0.5 | 9426 | 0.93 | 2765 | 0.97 | 425 | 0.67 |
| R | 8 | 0.4 | 642 | 0.06 | 40 | 0.01 | 122 | 0.19 |
| Rmd | 2 | 0.1 | 117 | 0.01 | 45 | 0.02 | 85 | 0.13 |
| Lang | \# Files | (%) | LoC | (%) | Blank lines | (%) | \# Lines | (%) |
| :--- | -------: | ---: | ----: | ---: | ----------: | ---: | -------: | ---: |
| HTML | 12 | 0.55 | 10200 | 0.92 | 3169 | 0.97 | 501 | 0.71 |
| R | 8 | 0.36 | 788 | 0.07 | 45 | 0.01 | 122 | 0.17 |
| Rmd | 2 | 0.09 | 117 | 0.01 | 45 | 0.01 | 85 | 0.12 |
## 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-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-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")) %>%
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() %>%
mutate(
elapsed = as.numeric(elapsed)/60,
debate_date = as.Date("2020-01-14"),
debate_date = as.Date("2020-02-07"),
speaker = stri_trans_totitle(speaker),
timestamp = parse_time(timestamp),
debate_group = 8,
@ -557,7 +558,7 @@ read_html(here::here("data-raw/2020-02-19-us-elections-debate-speaking-time.html
as_tibble() %>%
mutate(
elapsed = as.numeric(elapsed)/60,
debate_date = as.Date("2020-01-14"),
debate_date = as.Date("2020-02-19"),
speaker = stri_trans_totitle(speaker),
timestamp = parse_time(timestamp),
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(!is.na(timestamp)) %>%
# distinct(topic) %>%
# print(n=nrow(.))
mutate(
topic = case_when(
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
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(
jun_day_1,
jun_day_2,
@ -629,10 +700,12 @@ bind_rows(
dec_day_1,
jan_20_day_1,
feb_07_day_1,
feb_19_day_1
feb_19_day_1,
feb_25_day_1
) %>%
mutate(topic = case_when(
grepl("elect.*form", topic, ignore.case = TRUE) ~ "Election Reform",
grepl("transparency", topic, ignore.case = TRUE) ~ "Transparency",
TRUE ~ topic
)) -> 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{
Useful links:
\itemize{
\item \url{https://gitlab.com/hrbrmstr/ggchicklet}
\item Report bugs at \url{https://gitlab.com/hrbrmstr/ggchicklet/issues}
\item \url{https://git.rud.is/hrbrmstr/ggchicklet}
\item Report bugs at \url{https://git.rud.is/hrbrmstr/ggchicklet/issues}
}
}

Loading…
Cancel
Save