Datensaetze

10.05.2019 - Valentin Gold - Reading time ~1264 Minutes


Verfügbare Datensätze

Inzwischen gibt es eine ganze Reihe an verfügbaren Datensätzen, mit denen sich sozialwissenschaftliche Fragestellungen beantworten lassen. Es ist also nicht unbedingt notwendig, neue Daten(sätze) einzulesen. Viele Ihrer Fragestellungen lassen sich mit den verfügbaren Datensätzen bearbeiten. Es ist allerdings nicht immer ganz einfach, diese Datensätze so einzulesen, dass Sie dem Ihnen bekannten Schema entsprechen. Das trifft z.B. auf die Korpora aus dem polmineR Paket zu (GermaParl, UNGA, EuroParl). Andere Datensätze sind jedoch bereits im korrekten und bekannten Format (EUSpeech, ParlGov). Da einige Datensätze relativ groß sind, kann das Laden und auch das Arbeiten mit den Datensätzen etwas Zeit in Anspruch nehmen.

Datensatz ParlSpeech

Der Datensatz ParlSpeech und die Dokumentation ist online unter https://dataverse.harvard.edu/dataverse.xhtml?alias=ParlSpeech verfügbar und kann in R direkt eingelesen werden; hier am Beispiel der deutschen Parlamentsdebatten.

#Pakete laden
library(tibble)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(magrittr)
library(lubridate)
## 
## Attaching package: 'lubridate'
## The following object is masked from 'package:base':
## 
##     date
library(knitr)

#Datensatz laden
load("../../../daten/ParlSpeech/Corp_Bundestag.Rdata")

#in Tibble umformatieren
bt.corpus <- as_tibble(bt.corpus)
  
#Inspektion
glimpse(bt.corpus)
## Observations: 299,844
## Variables: 9
## $ date         <chr> "1991-03-12", "1991-03-12", "1991-03-12", "1991-03-…
## $ session      <int> 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,…
## $ speechnumber <chr> "2", "3", "4", "5", "6", "7", "8", "9", "10", "11",…
## $ speaker      <chr> "Theodor Waigel", "Rita Süssmuth", "Theodor Waigel"…
## $ party        <chr> "CDU/CSU", "CDU/CSU", "CDU/CSU", "CDU/CSU", "PDS/LI…
## $ chair        <lgl> FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE,…
## $ terms        <dbl> 880, 15, 5756, 69, 233, 9, 242, 8, 31, 6, 298, 9, 2…
## $ text         <chr> "Frau Präsidentin ! Meine sehr geehrten Damen und H…
## $ parliament   <chr> "DE-Bundestag", "DE-Bundestag", "DE-Bundestag", "DE…
bt.corpus %>% 
  select(speechnumber, speaker, party, text) %>% 
  head(3) %>% 
  DT::datatable(.)

#Anzahl der Reden pro Jahr
bt.corpus %>% 
  mutate(year = year(date)) %>% 
  count(year) %>% 
  plot(type="l")

Datensatz EUSpeech

Ähnliches gilt für den Datensatz EUSpeech: Auch dieser ist online im Dataverse verfügbar (https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/GKABNU) und kann direkt in R eingelesen werden. Es gibt den Datensatz unaufbereitet, mit gestemmten Wörtern und als DFM.

#Datensatz laden
load("../../../daten/EUSpeech/supercorpus_unstemmed_V4.RData")

#in Tibble umwandeln
class(corpus_unstemmed)
## [1] "corpus" "list"
euspeech <- as_tibble(corpus_unstemmed[[1]])

#Inspektion
glimpse(euspeech)
## Observations: 17,184
## Variables: 8
## $ texts       <chr> " Today is a little like a change of the guard.   Th…
## $ title       <chr> "Intervention of Guy Verhofstadt during the Conferen…
## $ date        <chr> "05-11-2014", "22-10-2014", "20-06-2013", "15-04-201…
## $ country     <chr> "European Parliament", "European Parliament", "Europ…
## $ speaker     <chr> "Guy Verhofstadt", "Guy Verhofstadt", "Guy Verhofsta…
## $ length      <int> 393, 78, 280, 317, 582, 356, 861, 820, 515, 1425, 37…
## $ language    <chr> "en", "en", "en", "en", "en", "en", "en", "en", "en"…
## $ translation <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
euspeech %>% 
  select(speaker, texts) %>% 
  slice(1:200) %>% 
  DT::datatable(.)
## Warning in instance$preRenderHook(instance): It seems your data is too
## big for client-side DataTables. You may consider server-side processing:
## https://rstudio.github.io/DT/server.html