An R package to analyze the parliamentary records of the 19th legislative period of the Bundestag, the German parliament.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
JosuaKugler 5e9f70627d fix errors from refactoring and add documentation to all remaining functions in analyze.R 4 年之前
R fix errors from refactoring and add documentation to all remaining functions in analyze.R 4 年之前
hitler_texts improve german word selection 4 年之前
man fix errors from refactoring and add documentation to all remaining functions in analyze.R 4 年之前
reports update zwischenbericht, run documentation 4 年之前
vignettes Merge branch 'master' of https://git.flavigny.de/christian/hateimparlament 4 年之前
.Rbuildignore fix vignette 4 年之前
.gitignore correct hitler_words and start analysis 4 年之前
DESCRIPTION solve most of predefined challenges 4 年之前
NAMESPACE refactor rede -> speech, redner -> speaker 4 年之前
README.md refactor fraktion -> fraction 4 年之前

README.md

How to develop

Wie kann man entwickeln?

# alles geht mit devtools (laedt auch noch ein paar andere pakete)
library(devtools)

# neu laden aller paket funktionen
load_all()

#In CSV-files schreiben, um das laden zu beschleunigen
tables <- read_all()
tables <- repair(tables)
write_to_csv(tables)

Wir verwenden NIEMALS source, etc.! Außerdem NIEMALD library(...) verwenden, sondern um neue pakete hinzuzufuegen (als dependency), verwende:

use_package("my-good-old-package")

Um paket imports verfuegbar zu machen, muss man diese in R/hateimparlament-package.R als @import <package> hinzufuegen.

Um dokumentationen neu zu laden / zu erstellen (ruft roxgen auf)

document()

Baue vignetten

rmarkdown::render("vignettes/bla.Rmd")

Herunterladen

Bevor analysiert werden kann, muss fetch.R ausgeführt werden, um alle Protokolle herunterzuladen.

Parsing

Tabellen

parse.R parsed einzelne Protokolle und erstellt 3 Tibbles

Redner

Struktur: id , vorname , nachname , fraction , titel , rolle_kurz, rolle_lang

Die Rollen sind beispielsweise “Bundeskanzlerin”. Leider gegendert und deshalb wahrscheinlich nervig zu analysieren.

Wird gewonnnen aus dem <rednerliste> Eintrag am Ende der Protokolle.

Reden

Struktur: id , redner

Die Reden id wird im Protokoll festgelegt und ist eindeutig. Eine Rede ist ein <rede> Eintrag im Sitzungsverlauf. Eine Rede hat immer einen Hauptredner (der der vorne am Pult steht).

Innerhalb einer Rede kann es verschieden Redebeiträge geben:

  • Kommentare: Beifall, Zwischenrufe, etc.
  • Redebeiträge: Typischerweise hauptsächlich der Hauptredner, aber auch Zwischenfragen. Diese werden beim parsen in der Tabelle Talks gespeichert.

Talks

Struktur: rede_id , redner , content

Das sind die eigentlichen Redebeiträge, die innerhalb von rede Einträgen auftauchen. Dabei gilt:

  • rede_id: Die Rede in dem der Beitrag auftaucht
  • redner: Der Sprecher des Redebeitrags
  • content: Der Inhalt der Rede (wichtig: Aktuell werden die Ordnungskommentare des Bundestagspräsidenten nicht herausgefiltert, tauchen also im Inhalt auf, obwohl sie nicht vom redner gesprochen werden. To be fixed -> Issues!)

Noch zu parsen: Alles kann, nichts muss.

  • Kommentare (aktuell werden nur <p>'s in Reden gesammelt). Hier ist zu überlegen, wie diese gesammelt werden sollten.
  • Meta Daten? Diese sind teilweise in den rede_id's encoded.

Kombinieren der Tabellen der Protokolle

  • Alle Tabellen sollten schlussendlich kombiniert werden zu großen Tabellen über alle Protokolle.

Analyse

  • Schnittmenge AfD Vokabular und Hitler's Reden?
  • Redeanteile nach Geschlecht (dazu gibt es leider keine Daten in der Rednerliste), Fraktion, etc.
  • Ideen, Ideen, Ideen ...