Niels Schwab | Ronja Gottschalk
RLab - Skriptbasierte modulare Umweltstatistik (Universitätskolleg 2.0)
Universität Hamburg
RLab-Impressum
Gefördert im Rahmen des „Lehrlabors“ im Universitätskolleg 2.0 aus Mitteln des BMBF (01PL17033)
Dieses Digitale Skript von Niels Schwab und Ronja Gottschalk, Universitätskolleg 2.0 / Lehrlabor, Universität Hamburg, ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.
Universität Hamburg
Das elearn.js Template von Universität Hamburg ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz
In diesem Digitalen Skript erfährst Du in Ergänzung zum allgemein gehaltenen Digitalen Skript Import von Daten in R, wie ein Datenmaster* des Labors des Instituts für Geographie der Universität Hamburg (im Folgenden Labor-Datenmaster ,,Bodenlösung") so vorbereitet wird, dass beim Import in R alle Daten fehlerfrei übernommen werden. Dazu sind drei Schritte erforderlich, die auf den folgenden Seiten beschrieben werden.
Beim Labor-Datenmaster handelt es sich um eine recht komplexe Excel-Tabelle, die eine etwas aufwändigere Vorbereitung als im Digitalen Skript Import von Daten in R beschrieben, erforderlich macht.
Dieses Digitale Skript ist eine Ergänzung zum Digitalen Skript Labordatenanalyse mit R. In ,,Labordatenanalyse mit R" wird gezeigt, wie die Daten visualisiert und analysiert werden. Daher wird nicht dort, sondern in diesem Skript, auf die Vorbereitung der Rohdaten, einer Excel-Tabelle mit Analysewerten, eingegangen.
* Hier wird als Beispiel der ,,Datenmaster Bodenlösung” verwendet. Die Anleitung lässt sich auf die Vorbereitung anderer Datenmaster des Labors übertragen. Zum Beispiel ist beim Datenmaster ,,Bodenphysik" zu empfehlen, vorab in der .xlsx-Tabelle alle Spalten zu löschen, die nicht benötigt werden. Welche das sind, geht aus dem R-Skript zur Analyse der bodenphysikalischen Daten hervor.
Um dieses Skript zu verstehen und die beschriebenen Schritte gleich mitmachen zu können, erfüllst Du im Idealfall folgende Voraussetzungen:
* Hinweis: Das Vorgehen wird hier anhand von Microsoft Excel 2007 beschrieben, ist aber auch mit anderen Versionen und alternativen Programmen nachvollziehbar.
Am besten öffnest Du parallel zu dem Digitalen Skript RStudio, da im Folgenden auch ein kleiner Abschnitt R-Code vorgestellt wird und Du die Funktionalität dann direkt ausprobieren kannst.
Für Anregungen und Kommentare zur Verbesserung dieses Digitalen Skripts ist das RLab-Team immer dankbar! Du kannst auch Fragen zu den Inhalten stellen! Nutze für all das gerne die Kommentar-Funktion!
Der Labor-Datenmaster ,,Bodenlösung" besitzt Eigenschaften, die im Labor-Alltag sehr sinnvoll sind, die direkte Verwendung in R aber erschweren. Daher sind vor dem Import des Datenmasters in R ein paar vorbereitende Schritte erforderlich.
So sieht der Datenmaster aus, wenn er frisch mit Analysewerten gefüllt aus dem Labor kommt:
Hier sind einige der Gründe für die Änderungen, die auf den nächsten Seiten beschrieben werden:
Daten-Dateiformate
Weitere Infos zu typischen Daten-Dateiformaten findest Du im Digitalen Skript ,,Import von Daten in R” auf der Seite Vorstellung der Dateitypen.
Best-practice bei der Daten-Vorbereitung
Weitere Tipps zur Behandlung von Daten vor dem Import in R sind im Digitalen Skript ,,Import von Daten in R” auf der Seite Vorbereitung der Daten zusammengefasst.
Als erstes sollte die Excel-Tabelle im comma-seperated-values-Format (.csv) gespeichert werden. Es ist zu empfehlen, in R generell auf Umlaute zu verzichten, um Fehlermeldungen zu vermeiden. Das gilt auch für den Dateinamen der .csv-Datei:
Kurze Dateinamen
Lange Dateinamen funktionieren in R zwar problemlos, dennoch ist zu empfehlen, sie kurz zu halten - so bleibt auch Dein R-Code kurz und übersichtlich und ist weniger anfällig für Tippfehler.
Trotz der Kürze sollte der Dateiname noch ,,sprechend” sein, so dass Du auch nach einer längeren R-Pause weißt, welcher Datensatz sich dahinter verbirgt. ,,data.txt” oder ,,tabelle.csv” sind zum Beispiel eher ungeeignete Dateinamen.
Tabellen in R haben immer nur eine Kopfzeile. Daher sollte vor dem Import in R die erste Zeile des Labordaten-Masters gelöscht werden.
Alternativ kann beim Import in R die erste Zeile übersprungen werden. Wir beschreiben hier beide Wege, welchen Du bei der Analyse Deiner eigenen Daten wählst, bleibt Dir überlassen.
Die Excel-Tabelle kann auch ohne vorheriges Löschen der Kopfzeile in R importiert werden. Dann sollte die erste Zeile allerdings nicht mit eingelesen werden. Dazu kann in der Funktion read.table()
das Argument skip=
mit dem Wert ,,1” versehen werden (..., skip = 1,...
). So wird beim Einlesen die erste Spalte übersprungen.
Ein exemplarischer R-Code, mit dem der Inhalt einer .csv-Datei als Dataframe ,,df" eingelesen wird, kann dann z.B. so aussehen:
df <- read.table('G:/Daten/Bodenloesung.csv', skip = 1,
header = T, sep = ';', dec = ',',
stringsAsFactors = F)
# sep = und dec = ggf. anpassen, siehe Info im Digitalen Skript
Trennzeichen in .csv-Dateien - Ursache für fehlerhaften Datenimport
.csv-Dateien besitzen (leider) nicht immer identische Zeichen für die Trennung von Spalten und Dezimalstellen. Häufig werden Spalten durch Semikola getrennt, üblich sind aber auch Kommata oder andere Zeichen. Die Dezimalstellen werden meistens mit Punkt oder Komma abgetrennt, aber auch hier sind prinzipiell andere Zeichen möglich.
Bei der Anzeige in MS-Excel ist die Identifikation der Trennzeichen nicht eindeutig möglich. Wir empfehlen, eine .csv-Datei dazu mit einem Texteditor (z.B. Notepad oder Editor) zu öffnen. In der Anzeige dieser Programme sind die Zeichen eindeutig ablesbar und können per copy&paste in den R-Code übernommen werden: Beim Einlesen einer .csv-Datei in R werden die Trennzeichen in der Funktion
read.table()
mit den Argumentensep =
unddec =
angegeben. Für die Beispieldateien sind in den Code-Beispielen die passenden Trennzeichen angegeben. Bei anderen Dateien ist es ggf. erforderlich, sie anzupassen.Ausführliche Infos zu .csv-Dateien findest Du im Digitalen Skript ,,Import von Daten in R” auf der Seite csv-Dateien im Detail.
Besonders häufig treten Probleme beim Einlesen von HOBO-Daten auf, da beim Export von Daten aus der HOBO-Software unterschiedliche Trennzeichen angegeben werden können. Zusätzlich können sich die Zeichen bei einer weiteren Bearbeitung in MS-Excel unbemerkt ändern. Daher: Am besten kurz per Texteditor checken und Trennzeichen im Code entsprechend anpassen.
Die Beispieltabelle ,,Labor-Datenmaster” enthält Umlaute und Sonderzeichen, die in R zu Fehlermeldungen führen können. Daher sollten diese ersetzt werden. Das geht in Excel ganz einfach mit der Funktion ,,Suchen und Ersetzen”. Die Funktion lässt sich über den Menü-Reiter ,,Start” - ,,Suchen und Auswählen” oder einfach mit Strg+h in Excel aufrufen.
Hier sollte nacheinander nach allen Umlauten gesucht werden und ins Feld ,,Ersetzen durch” zum Beispiel ae für ä eingegeben werden. Zusätzlich sollte mindestens nach ß gesucht und durch zwei s ersetzt werden. Sinnvoll ist auch, Leerzeichen durch Unterstriche (_) zu ersetzen.
Denke daran, zum Schluss die veränderte Datei als .csv zu speichern (per Menü oder mit Strg+s). Ignoriere hierbei wieder den
Hinweis:
In der Beispieldatei sind nur ä, ü und Leerzeichen enthalten.
Herzlichen Glückwunsch! - Das war der dritte und letzte Schritt, der vor dem Import des Labor-Datenmasters ,,Bodenlösung" in R zu erledigen ist. Nun kannst Du die .csv-Datei mit der Funktion read.table()
in R einlesen und die Daten dann grafisch darstellen und analysieren. Wie das mit den Daten des Labor-Datenmasters geht, kannst Du im Digitalen Skript Labordatenanalyse mit R lernen.
Vorgehen bei anderen Datenmastern
Bei anderen Datenmastern ist das hier beschriebene Vorgehen anzupassen. Zum Beispiel ist beim Datenmaster ,,Bodenphysik" zu empfehlen, vorab in der .xlsx-Tabelle alle Spalten zu löschen, die nicht benötigt werden. Welche das sind, geht aus dem R-Skript zur Analyse der bodenphysikalischen Daten hervor.
Das Einlesen der Daten geht mit dem hier unterhalb abgebildeten Code, den Du per copy&paste in Dein eigens R-Skript übernehmen kannst.
Mit folgenden Code wird die .csv-Datei ,,Bodenloesung.csv", die in diesem Beispiel unter ,,G:/Daten" gespeichert ist, als Dataframe ,,BL" in das Environment von R eingelesen:
BL <- read.table('G:/Daten/Bodenloesung.csv',
header = T, sep = ';', dec = ',',
stringsAsFactors = F)
# sep = und dec = ggf. anpassen, siehe Info im Digitalen Skript
Wenn Du Dir, wie auf der vorherigen Seite beschrieben, das manuelle Löschen der ersten Kopfzeile sparen möchtest, lautet der Code wie folgt:
BL <- read.table('G:/Daten/Bodenloesung.csv', skip = 1,
header = T, sep = ';', dec = ',',
stringsAsFactors = F)
# sep = und dec = ggf. anpassen, siehe Info im Digitalen Skript
Umfangreiche weitere Infos findest Du im Digitalen Skript Import von Daten in R.
Trennzeichen in .csv-Dateien - Ursache für fehlerhaften Datenimport
.csv-Dateien besitzen (leider) nicht immer identische Zeichen für die Trennung von Spalten und Dezimalstellen. Häufig werden Spalten durch Semikola getrennt, üblich sind aber auch Kommata oder andere Zeichen. Die Dezimalstellen werden meistens mit Punkt oder Komma abgetrennt, aber auch hier sind prinzipiell andere Zeichen möglich.
Bei der Anzeige in MS-Excel ist die Identifikation der Trennzeichen nicht eindeutig möglich. Wir empfehlen, eine .csv-Datei dazu mit einem Texteditor (z.B. Notepad oder Editor) zu öffnen. In der Anzeige dieser Programme sind die Zeichen eindeutig ablesbar und können per copy&paste in den R-Code übernommen werden: Beim Einlesen einer .csv-Datei in R werden die Trennzeichen in der Funktion
read.table()
mit den Argumentensep =
unddec =
angegeben. Für die Beispieldateien sind in den Code-Beispielen die passenden Trennzeichen angegeben. Bei anderen Dateien ist es ggf. erforderlich, sie anzupassen.Ausführliche Infos zu .csv-Dateien findest Du im Digitalen Skript ,,Import von Daten in R” auf der Seite csv-Dateien im Detail.
Besonders häufig treten Probleme beim Einlesen von HOBO-Daten auf, da beim Export von Daten aus der HOBO-Software unterschiedliche Trennzeichen angegeben werden können. Zusätzlich können sich die Zeichen bei einer weiteren Bearbeitung in MS-Excel unbemerkt ändern. Daher: Am besten kurz per Texteditor checken und Trennzeichen im Code entsprechend anpassen.
Vielen Dank für die Nutzung dieses Digitalen Skripts! Das RLab-Team hofft, dass es verständlich und hilfreich ist.
Für Anregungen und Kommentare zur Verbesserung dieses Digitalen Skripts ist das RLab-Team immer dankbar! Du kannst auch Fragen zu den Inhalten stellen! Nutze für all das gerne die Kommentar-Funktion!