2.3 Code lesen und schreiben
Code chunks sind eine großartige Sache (grau hinterlegte Box) und beinhalten Code, Kommentare und das Ergebnis. Kommentare werden mit einer Raute (“#”) kenntlich gemacht und werden beim Ausführen des chunks nicht von R erkannt. Dies hat sehr große Vorteile! Der wichtigste ist, dass man seine Gedanken vor jeden Befehl schreibt, um noch nach Jahren (im besten Fall 😄) nachzuvollziehen was man eigentlich damit gemeint hat. Für Kollegen und einen selbst entsteht dadurch eine roadmap die zum Ziel führt.
# Definiere einen Vektor mit der Länge 1 bis 5
<- 1:5
vektor_a # Zeige mir vektor_a
vektor_a## [1] 1 2 3 4 5
# Wie lautet der Mittelwert von vektor_a?
mean(vektor_a)
## [1] 3
Der Inhalt eines code chunks sollte ohne Probleme in die eigene R Konsole kopiert und ausgeführt werden können.
💡 Falls eine Fehlermeldung auftritt wurde ein vorausgehendes package oder eine Datenquelle vermutlich nicht geladen.
2.3.1 Die Konsole
R code kann in jedem Texteditor oder Skriptfenster geschrieben werden. Um den Code auszuführen ist es jedoch wichtig ihn an die Kommandozeile (command-line; console) von R zu senden.
Die Kommandozeile in R startet mit dem >
Symbol, auch prompt genannt. Prompt leitet sich von prompting (auffordern) ab. Man wird also dazu aufgefordert einen Befehl einzutippen. 1+1
gibt also direkt ## [1] 2
wieder. Die [1]
steht dabei für den Index (mehr dazu später).
2.3.2 R Skript
Für einfache Befehle macht es Sinn direkt in die Konsole zu tippen. Code den man speichern möchte und komplexere Anfragen sollten jedoch in ein R script geschrieben haben (hat die Dateiendung .R
). Ein R Skript ist eine Zusammenfassung an code welches in einer Datei zusammengefasst wurde.
Um ein neues Skript zu speichern schreibe:
File - New file - R script
Um code in einem Skript auszuwerten muss es explizit an die Konsole gesendet werden.
💡 Der shortcut strg+Enter wird euer bester Freund werden und ist meine bevorzugte Art.
2.3.3 Good practice Code zu schreiben
Einen klaren Gedanken auf das Papier zu bringen ist nicht so einfach. Beim Schreiben von Code verhält es sich natürlich ähnlich. Damit anderen Menschen ebenfalls Freude daran haben den Weg zum Ziel zu verstehen, sollte man es Ihnen so einfach wie möglich machen. Hier sind ein paar Regeln:
- # = Kommentiere code so häufig wie möglich mit der Raute #. Mehr ist mehr!
- Leerzeichen = Findestduesbesserwennichsoschreibe oder wenn ich wieder normal schreibe?
- Zeilenumbrüche = Eine 100-seitige Abschlussarbeit in einem Absatz zu schreiben ist fürchterlich und würde keiner tun. Bei code verhält es sich ähnlich.
💩 Beispiel
library(tidyverse)
<-read.csv("data/data_year.csv", sep = ",")
df::ggplot(df, aes(wt,eh100b))+geom_point()
ggplot2cor(df$wt, df$eh100a, use = "complete", method = "pearson")
💪 Beispiel
# Lade das package tidyverse
library(tidyverse)
# Lese den Datensatz "data" vom Speicherkoog ein
# Das Trennzeichen ist Semikolon
<- read.csv("data/data_year.csv", sep = ",")
df # Stelle den mittleren Grundwasserstand (wt; in cm) dar
ggplot(data = df, aes(x = wt)) +
geom_boxplot()
# Berechne Pearson Korrelationskoeffizient zwischen Grundwasserstand und Redoxpotenzial in 100 cm Tiefe.
# Entferne vorher fehlende Werte
cor(df$wt, df$eh100a, use = "complete", method = "pearson")