Dezember 08, 2016

Übersicht – Heute

  • Skripte schreiben (ca. 15 Minuten)
  • Bausteine für Skripte (ca. 30 Minuten)

  • Funktionen schreiben (ca. 15 Minuten)
  • Vektorisierung in R (ca. 15 Minuten)

  • Daten importieren (ca. 15 Minuten)
  • Daten speichern und exportieren (ca. 15 Minuten)

  • Plots in R erzeugen (ca. 45 Minuten)

R-Skripte – was?

R-Skripte – Die Komposition von Kochrezepten

  • R-Skripte enthalten alle Arbeitsschritte, die im Laufe eines Projekts anfallen und durch R abgearbeitet werden.
  • Skripte sind fundamentale Grundlage aller Analysen.
  • Skripte enthalten die Abfolgen von Funktionen und Kommentaren.
  • Skripte müssen verständlich und reproduzierbar sein.

Einige generelle Hinweise zum Schreiben von Skripten

  • Kommentare, Kommentare, Kommentare!!!
  • Von Prosa (horizontal) hin zu Lyrik (vertikal).
  • Nicht Zeit sparen, um zu Schreiben, sondern um Verstehen zu können.
  • Schreiben mit Passion aber auch Gelassenheit.
  • An die anderen denken, nicht nur an sich selbst, nicht nur für den Moment.
  • Es gibt so viele verschiedene Wege zur (gleichen) Lösung…

Weiterführende Informationen zu gutem Stil

Skripte schreiben – Speichern und Ausführen

  • Skripte werden mit der Dateiendung .R gespeichert.
  • Skripte können in RStudio blockweise (Strg + Enter in der entsprechenden Zeile), abschnittsweise (Markieren und dann Strg + Enter) oder komplett ausgeführt werden (Shift + Strg + Enter).
  • Gespeicherte Skripte können auch ohne geladen zu sein ausgeführt werden: source()
source(file = "~/Documents/projects/Environmental_seismology/Bergholz_Rehbruecke/R/calculus_and_figures.R")

Skripte schreiben – Einige grundlegende Bemerkungen

  • Kopfteil – Die Kurzzusammenfassung des Arbeitsplans
    • Grund/Ziel des Skripts
    • Autorinformation (Name, Institution, ggf. Adresse)
    • Datum und Version des Skripts
    • Dokumentation von Veränderungen (wann, wo, wie, warum)
    • Verwendete Parameter/Argumente (Name, Verwendung)
    • Ausgaben des Skripts (Daten, Plots, Dateien etc.)
    • Referenzen/Quellenangaben

Skripte schreiben – Einige grundlegende Bemerkungen

  • Objektnamen (Variablen und Funktionen)
    • Selbsterklärend
    • Balance zwischen zu lang und zu kurz finden
    • Konsistente Verwendung von Trennzeichen (parTime, par_time, par.time)
    • Keine Doppelbelegungen, auch nicht mit Funktionen (t, c, usw.)

Skripte schreiben – Einige grundlegende Bemerkungen

  • Verwendung des assign-Operators (<-), um Werte zuzuweisen (x <- 1)
  • Verwendung von =, um Funktionsargumente zu definieren (mean(x = 1:10))

  • Setzen von Klammern um Argumente/Operatoren und nach Kommas (1 + 1, cor(x = 1:10, y = 10:1))

  • Nie mehr als 80 Zeichen pro Zeile

Skripte schreiben – Einige grundlegende Bemerkungen

  • Einrücken erleichtert Lesbarkeit (Schleifeninhalte 2 Leerzeichen):
if(i < 10) {
  i <- i + 1
} else {
  print("FINISHED!")
}

## versus

if(i < 10){i <- i + 1}else{print("FINISHED!")}

Oder auch:

L <- list(x = c(1, 2, 3, 4, 5, 6, 7), b = rep(1:10), t = as.logical(5 < 1:10))

## versus

L <- list(x = c(1, 2, 3, 4, 5, 6, 7), 
          b = rep(1:10), 
          t = as.logical(5 < 1:10))

Skripte schreiben – Einige grundlegende Bemerkungen

  • Ausschreiben der Funktionsargumente
    • Erleichtert die Verständlichkeit
    • Hilft beim Lernen der Sprache R
    • Strukturiert den Skript-Code
x <- runif(100, 0, 1)

## versus

x <- runif(n = 100, 
           min = 0, 
           max = 1)

Skripte schreiben – Einige grundlegende Bemerkungen

  • Kommentare sind eminent wichtige, integrale Bestandteile von Skripten
  • Faustregel: Code ca. 60 %, Kommentare ca. 40 %
  • Also, kommentieren schadet nie. Es hilft beim Schreiben wie auch beim Nachvollziehen.

  • Kommentare werden eingeleitet mit einer oder mehr Rauten #, ##

  • Sections (Abschnitte) strukturieren das Skript und RStudio nutzt sie als Sprungmarken/Lesezeichen.

## TEIL 1 - Datenimport -------------------------------------------------------

Skripte schreiben – Fragen und Übungen

  • Zeit: 10 Minuten, Art: selbständige Arbeit
    • Überlegen Sie sich ein Beispielprojekt (z.B. Deskriptive Statistik einer Datenreihe erstellen)
    • Starten Sie RStudio, legen Sie eine neues Projekt an
    • Schreiben Sie ein Skript für das Beispielprojekt
    • Beachten Sie (möglichst) alle gerade diskutierten Regeln
    • Am Ende Diskussion der Ergebnisse

Bausteine für Skripte