update README
This commit is contained in:
@@ -1,6 +1,115 @@
|
||||
# How to develop
|
||||
|
||||
Wie kann man entwickeln?
|
||||
```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 <package>`.
|
||||
|
||||
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 `<speaker list>` 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 `<speech>` 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.
|
||||
|
||||
|
||||
|
||||
____________________________________________________________________________
|
||||
|
||||
|
||||
# How to develop
|
||||
|
||||
```r
|
||||
# alles geht mit devtools (laedt auch noch ein paar andere pakete)
|
||||
|
||||
@@ -45,6 +45,7 @@ comments <- res$comments
|
||||
speeches <- res$speeches
|
||||
speaker <- res$speaker
|
||||
talks <- res$talks
|
||||
applause <- res$applause
|
||||
```
|
||||
|
||||
## Analysis
|
||||
|
||||
Reference in New Issue
Block a user