# How to develop ```r # everything works with devtools (loads some other packages too) library(devtools) # reload all package functions load_all() #write to CSV files to speed up loading tables <- read_all() tables <- repair(tables) write_to_csv(tables) ``` We NEVER use source(...), etc.! Also NEVER use library(...). But to add new packages (as dependency), use: ```r use_package("my-good-old-package") ``` To make package imports available, you have to add them to `R/hateimparlament-package.R` as `@import `. To reload / create documentation (calls roxygen) ```r document() ``` Build vignettes ```r rmarkdown::render("vignettes/bla.Rmd") ``` # Download Before parsing, fetch.R must be run to download all protocols. ```r fetch_all("../inst/records/") # path to directory where records should be stored ``` # Parsing ## tables parse.R parses all downloaded logs and creates 5 tibbles. repair.R then cleans up the errors in these tibbles. ```r read_all("../inst/records/") %>% repair() ``` ### Speaker structure: `id` , `first_name` , `last_name` , `fraction` , `title` , `role_short`, `role_long`. Obtained from the `` entry at the end of the transcripts. ### Speeches Structure: `id` , `speaker` The speeches `id` is specified in the protocol and is unique.A speech is a `` entry in the session history. A speech always has a main speaker (the one standing at the front of the lectern). Within a speech, there can be different speech entries: - Comments: Applause, interjections, etc. - Speeches: Typically mainly the main speaker, but also interjections. These are stored in the talks, comments and applause tables when parsing. ### Talks Structure: `speech_id` , `speaker` , `content`. These are the actual talk entries that appear within _speeches_. - `speech_id`: the speech in which the contribution appears. - `speaker`: The speaker of the speech entry. - `content`: The content of the speech. ###comments These are the interjections that appear during the speeches. They have the following structure: - `speech_id`: The speech that was interrupted. - `on_speaker`: The speaker who was interrupted. - `fraction` - `commenter`: The person who interrupted the speech. - `comment`: The content of the comment. ###applause The logical table shows which party applauded for which speaker with explicit speech and which did not. structure: `speech_id`, `on_speaker`, `CDU_CSU`, `SPD`, `FDP`, `DIE_LINKE`, `BUENDNIS_90_DIE_GRUENEN`, `AfD` # Analysis analysis.R provides some functions to analyze the "Plenarprotokolle" and to create plots. In the vignettes you can find different analyses of the protocols, for example: - "Who talks the most?" - "Which party gives the most speeches?" - "Which party comments the most on which parties?" - "When are which topics discussed the most?" - ...