setwd("C:/Benutzer/IhrName/Dokumente/MeinProjekt")Definition des Arbeitsverzeichnisses und Einlesen von CSV-Dateien
In der Datenanalyse mit R ist es wichtig, das Arbeitsverzeichnis richtig zu setzen und zu verstehen, wie man Daten aus CSV-Dateien einliest. Hier wird erklärt, wie Sie Ihr Arbeitsverzeichnis definieren und anschließend CSV-Dateien einlesen.
Festlegen des Arbeitsverzeichnisses
Das Arbeitsverzeichnis in R ist der Ordner, in dem R nach Dateien sucht und in den es Dateien schreibt, wenn kein anderer Pfad angegeben wird. Sie können Ihr Arbeitsverzeichnis mit der Funktion setwd() festlegen. Hier ist ein Beispiel:
Dieser Befehl setzt das Arbeitsverzeichnis auf den angegebenen Pfad. Sie können das aktuelle Arbeitsverzeichnis mit getwd() überprüfen:
getwd()In einem R-Markdown file können Sie das Arbeitsverzeichnis auch mit dem unten stehenden Befehl definieren. Dieser Befehl sollte am Anfang des Dokuments stehen (z.B. im ersten Code Chunk), bevor Sie andere Dateien einlesen:
knitr::opts_knit$set(root.dir = "path/to/your/directory")
Definition des Dateipfads
Nachdem Sie das Arbeitsverzeichnis festgelegt haben, ist es einfacher, Dateipfade zu definieren, da Sie relative Pfade in Bezug auf dieses Verzeichnis verwenden können. Ein Dateipfad ist der Ort, an dem Ihre Datei gespeichert ist. Sie können absolute oder relative Pfade verwenden:
- Absoluter Pfad: Der vollständige Pfad von der Wurzel des Dateisystems (z.B.
C:/Benutzer/Name/Dokumente/MeinProjekt/ihre_datei.csv). - Relativer Pfad: Der Pfad relativ zum aktuellen Arbeitsverzeichnis in R (z.B.
./ihre_datei.csv).
Ein relativer Pfad ist oft einfacher zu verwenden, besonders wenn Sie Ihr Projekt auf verschiedenen Computern oder mit anderen teilen.
Einlesen von Daten mit read.csv
CSV-Dateien sind einfache Textdateien, in denen Daten durch Kommas oder andere Zeichen getrennt sind. Zum Einlesen einer CSV-Datei verwenden Sie:
daten <- read.csv("pfad/zu/ihrer_datei.csv")
head(daten)Wichtige Argumente der read.csv()-Funktion
Der sep-Parameter
Der sep-Parameter definiert das Trennzeichen zwischen den Spalten in der Datei. Standardmäßig ist dieser auf ein Komma gesetzt (sep = ","), aber Sie können ihn an das Format Ihrer Daten anpassen. Wenn Ihre Daten beispielsweise durch Semikolons getrennt sind, sollten Sie sep = ";" verwenden:
daten <- read.csv("pfad/zur/ihrer_datei.csv", sep = ";")Der header-Parameter
Der header-Parameter gibt an, ob die erste Zeile der Datei Spaltenüberschriften enthält (header = TRUE) oder nicht (header = FALSE). Standardmäßig nimmt R an, dass die erste Zeile Überschriften enthält:
daten <- read.csv("pfad/zur/ihre_datei.csv", header = TRUE)Falls Ihre CSV-Datei keine Kopfzeile hat, sollten Sie header = FALSE setzen.
Einlesen von Daten mit read.table
Neben read.csv gibt es in R auch die read.table-Funktion, die eine größere Flexibilität beim Einlesen von Datentabellen bietet. Diese Funktion ist besonders nützlich, wenn Sie mit Dateiformaten arbeiten, die nicht standardmäßig durch Kommas getrennt sind oder komplexere Formatierungen haben.
Wichtige Argumente der read.table()-Funktion
file: Der Pfad zur Datei, die eingelesen werden soll.header: Gibt an, ob die erste Zeile Spaltenüberschriften enthält (TRUEoderFALSE).sep: Das Trennzeichen zwischen den Datenfeldern (z.B.",",";","\t"für Tabulator).quote: Zeichensatz zum Kennzeichnen von Textfeldern (standardmäßig\").dec: Das Zeichen für Dezimaltrennung (z.B.","in vielen europäischen Ländern).
Beispiel: Einlesen einer Tabelle
Stellen Sie sich vor, Sie haben eine Tab (Leerzeichen) -getrennte Datei (tab_separated_data.txt), die Sie in R einlesen möchten. Der folgende Befehl demonstriert, wie Sie read.table dafür nutzen können:
daten <- read.table("pfad/zur/tab_separated_data.txt", header = TRUE, sep = "\t")
head(daten)In diesem Beispiel wird angenommen, dass die erste Zeile der Datei Überschriften enthält (header = TRUE) und dass die Felder durch Tabs (Leerzeichen) getrennt sind (sep = "\t").
Ja, das ist eine sehr wichtige Ergänzung. In vielen Datensätzen (besonders aus Umfragen oder Messgeräten) werden fehlende Werte nicht einfach leer gelassen, sondern durch “Sentinel Values” oder Platzhalter wie -999, -9999 oder . kodiert. Wenn man diese beim Einlesen nicht berücksichtigt, verfälschen sie statistische Berechnungen (z.B. den Mittelwert).
Hier ist ein passender Textbaustein, der genau in den Stil deiner vorhandenen Dokumentation passt. Du kannst ihn am besten unter den Abschnitt “Einlesen von Daten mit read.csv” bei den “Wichtigen Argumenten” einfügen.
Der na.strings-Parameter (Umgang mit fehlenden Werten)
In vielen Rohdaten werden fehlende Werte nicht einfach als leeres Feld gelassen, sondern durch spezifische Platzhalter (sogenannte “Sentinel Values”) markiert. Häufige Beispiele hierfür sind -999, -9999, N/A oder ein Punkt ..
Wenn Sie diese Werte nicht explizit als “fehlend” definieren, interpretiert R sie als normale Zahlen oder Text. Das würde dazu führen, dass beispielsweise ein Wert von -999 in die Berechnung eines Durchschnitts einfließt und das Ergebnis massiv verfälscht.
Mit dem Argument na.strings können Sie R mitteilen, welche Werte beim Einlesen automatisch in NA (Not Available) umgewandelt werden sollen.
Beispiel für einen einzelnen Wert: Wenn in Ihrem Datensatz der Wert -9999 für fehlende Daten steht:
daten <- read.csv("pfad/zur/ihrer_datei.csv", na.strings = -9999)Beispiel für mehrere verschiedene Werte: Manchmal gibt es verschiedene Kodierungen für fehlende Werte in einer Datei (z.B. -999 für “technischer Fehler” und XX für “nicht ausgefüllt”). Sie können einen Vektor übergeben, um alle diese Fälle abzufangen:
daten <- read.csv("pfad/zur/ihrer_datei.csv", na.strings = c("-999", "XX", "."))Hinweis: Sobald die Daten korrekt mit
NAeingelesen wurden, werden sie von R als fehlende Werte erkannt und können bei Berechnungen entsprechend behandelt werden (z.B. mitna.rm = TRUEin Funktionen wiemean()).