class: center, middle, inverse, title-slide .title[ # Wissenschaftliches Programmieren mit R ] .subtitle[ ## Der Anfang ist noch nicht so schwer ] .author[ ### Andreas Blaette ] .date[ ### 06. April 2023 ] --- # LSF-Ankündigungstext Digitalisierung bedeutet: Wir leben in einer datenreichen Zeit. Es gibt Daten wie Sand am Meer. So sind auch die Dimensionen digitaler Textdaten im Sinne von „**Big Data**“ überwältigend. Um aber die Materialflut bewältigen und ordnen zu können, sind neue digitale Wege zu gehen. In dieser Veranstaltung werden wir daher Verfahren des „Text Mining“ nutzen, um große Textdaten-Sammlungen (d.h. Korpora) effizient mit Algorithmen zu analysieren. Die Tore in die Welt der maschinellen Textverarbeitung öffnen sich allerdings erst, wenn man in der Lage ist, analytische Ideen in Programm-Code zu gießen. Daten sind das neue Öl? Man muss programmieren können, um aus dem neuen wertvollen Rohstoff "Daten" etwas herausholen zu können. Daher verbindet dieser Kurs eine Einführung in das wissenschaftliche Programmieren - konkret in die Statistiksprache „R“ - mit einer anwendungsorientierten Einführung in Verfahren des Text Mining. Dabei können wir auf die Daten und Analyse-Tools des PolMine-Projekts (polmine.de) zurückgreifen. Mit dem Korpus aller Debatten im Deutschen Bundestag („GermaParl“) und den UCSSR-Online-Foliensätze (für „Using Corpora in Social Science Research“) stehen Ihnen Ressourcen zur Verfügung, mit denen Sie schnell relevante politikwissenschaftliche Erkenntnisse erzielen können. --- # LSF-Ankündigungstext (Fortsetzung) Als Voraussetzung müssen Sie keinerlei Programmierkenntnisse mitbringen - nur Offenheit und etwas Leidensfähigkeit, Code mit geschweiften und eckigen Klammern zu schreiben. Indem Sie am Ende des Kurses über "data literacy" und Grundlagen des Programmierens verfügen, werden Sie die Welt der Digitalisierung besser verstehen. Die Abgeschiedenheit, welche die Corona-Krise erzwingt, können Sie als beste Gelegenheit nutzen, dieses Wagnis einzugehen! --- # Warum programmieren? **Warum es generell keine schlechte Idee ist** - Code is everywhere / Macht der Algorithmen / "code is law" (Lessig, 1999) - Code schreiben ist nicht teuer, sondern günstig(er) - Code schreiben als Kulturtechnik -- **Warum wissenschaftlich programmieren?** - Begrenzte Flexibilität von GUIs (*graphical user interfaces*) - Reproduzierbarkeit der Forschuung - Gerade bei Analyse großer Textdaten: Code schreiben unumgänglich - Code schreiben emanzipiert -- ** Warum man das lieber lassen sollte? Es kann ein fürchterlicher Zeitfresser sein!** --- # Warum wir R nutzen - PolMine-Projekt als Kontext: - Korpora - Code - Tutorials - Projekte: - RaMoDeep - RaMoMedia - PopParl - MigRep - Linking Textual Data --- # Warum R und RStudio **Eine sehr kurze Geschichte von R** - "S" als Mutter von R (John Chambers et al., Bell Laboratories) - "R" als Neuimplementierung (ab 1992): Ross Ihaka und Robert Gentleman (Universität Auckland) - Implementierung: C, FORTRAN, R - Aufwuchs des R-Ökosystems, Popularität von R -> [TIOBE-Index](https://www.tiobe.com/tiobe-index/) -- **R hat Vorteile!** - nicht-kommerzielles open source-Produkt - interpretierte, interaktive Programmierung - es gibt für (fast) alles ein Paket - kooperativer Stil der R-community - Portabilität - hohe Standards der Dokumentation **R hat Nachteile ..** - R gilt als langsam (was nur zum Teil stimmt) - Inkonsistenzen der Implementierung (Rückgabewerte, Namenskonventionen) --- background-image: url(img/Le_28_juillet.jpg) background-size: cover class: nobackground, inverse .attribution[[E. Delacroix / Wikimedia](https://commons.wikimedia.org/wiki/File:Eug%C3%A8ne_Delacroix_-_Le_28_Juillet._La_Libert%C3%A9_guidant_le_peuple.jpg)] .pull-center[# Warum R?<br/>Freiheit -Gleichheit - Brüderlichkeit!] --- # Software ist nicht alles Wie gut kennen Sie Ihren Rechner? -- - Welches Betriebssystem? -- - Festplatten- / SSD-Speicher? -- - Taktung der CPU? -- - 32- oder 64-Bit-Prozessor? -- - Zahl der Prozessorkerne? -- - Prozessor-Architektur? -- Und was folgt daraus für meine nächste Kaufentscheidung? Kann ich eigentlich mit R auf meinem Tablet arbeiten? --- # Installationen ## Installationen von R / RStudio / RTools - Installation von R, verfügbar über [CRAN](http://cran.r-project.org) - Installation von [RStudio](https://rstudio.com/products/rstudio/download/) - Windows: Installation von [Rtools](http://cran.r-project.org/bin/windows/Rtools/index.html) --- # Konzept und Anforderungen - Dumm darf man sein, man muss sich nur zu helfen wissen - Es fast nichts so wichtig wie der kompetente Umgang mit Fehlern! - Die R Community ist freundlich! - Hilfe per StackOverflow - GitHub Issues - Anforderungen - regelmäßige Teilnahme am Kurs - Installation von und Arbeit mit R/RStudio/Paketen auf eigenem Rechner - Bearbeitung von Übungsaufgaben => "Auszeichnungen" und "Badges" - Projektarbeit am Ende: - selbst gewählte Aufgabenstellung - Projektbericht mit R Markdown - digitale Abgabe zum Semesterende (Ende September) --- # Literatur Lessig, L. (1999). _Code and Other Laws of Cyberspace_. USA: Basic Books, Inc.