GNU R: read.table
read.table(file)
liest eine Tabelle entsprechend ihrer Zeilen und Spalten ein, welche als ein ASCII-Datei file vorliegt.
Argumente
[Bearbeiten]Das wichtigste Argument ist der Dateipfad, der auf jeden Fall angegeben werden muss. Alle anderen Argumente sind optional und werden durch ein Komma getrennt angehängt. Dabei müssen nur jene Argumente aufgeführt werden, die verändert werden sollen. Die Standardeinstellungen sind folgende:
header = FALSE,
sep = "",
- quote = "\"'",
- dec = ".",
- row.names,
- col.names,
- as.is = !stringsAsFactors,
- na.strings = "NA",
- colClasses = NA,
- nrows = -1,
- skip = 0,
- check.names = TRUE,
- fill = !blank.lines.skip,
- strip.white = FALSE,
- blank.lines.skip = TRUE,
- comment.char = "#",
- allowEscapes = FALSE,
- flush = FALSE,
- stringsAsFactors = default.stringsAsFactors()
Pfad/file
[Bearbeiten]Nach der geöffneten Klammer wird der Pfad für die zu ladenden Daten eingelesen. Er muss von Anführungszeichen (") eingeschlossen sein, das Laufwerk wird mit Doppelpunkt getrennt. Ordner mit / oder \\. Ein Beispiel:
C:alle_Daten/R-Daten/Beispiel.txt
Kopfzeile/header
[Bearbeiten]Falls die erste Zeile in der zu ladenden Datei die Überschrift zu den Daten enthält und man diese mit übertragen möchte, so muss man den Boolean header auf wahr umstellen: read.table("Pfad", header=T)
Beispiel
[Bearbeiten]Legen Sie eine txt-Datei mit folgendem Inhalt an, indem Sie die folgenden Zeilen markieren, kopieren und in einen Texteditor einfügen:
Geschlecht Alter Gewicht Groesse m 28 80 170 w 18 55 174 w 25 74 183 m 29 101 190 m 21 84 185 w 19 74 178 w 27 65 169 w 26 56 163 m 31 88 189 m 22 78 184
Speichern Sie diese Textdatei unter dem Namen „Tabellentest.txt“ auf Ihre Festplatte. Nun können Sie die Tabelle mit der Funktion read.table()
in R einlesen:
> meinetabelle <- read.table("/Pfad/zur/Tabelle.txt", header=TRUE)
Das Argument header=TRUE besagt, dass die erste Zeile der Datei keine Daten enthält, sondern die Bezeichnungen (Variablen) der Tabellenspalten angibt.
Die Tabelle ist nun in dem Objekt meinetabelle vorhanden. Sie können sie sich ansehen, indem Sie eingeben:
> meinetabelle
Geschlecht Alter Gewicht Groesse 1 m 28 80 170 2 w 18 55 174 3 w 25 74 183 4 m 29 101 190 5 m 21 84 185 6 w 19 74 178 7 w 27 65 169 8 w 26 56 163 9 m 31 88 189 10 m 22 78 184
In unserem Beispiel waren die Daten jeweils mit einem Leerzeichen getrennt. Haben Sie eine Textdatei, in welcher die Daten durch einen Tab getrennt sind, müssen sie die read.table-Funktion um das Argument sep=“\t“
erweitern:
> meinetabelle <- read.table("/Pfad/zur/Tabelle.txt", sep=“\t“, header=TRUE)
Datenimport aus der Zwischenablage
[Bearbeiten]Statt einer Datei kann in einigen Umgebungen auch stdin() angegeben werden. Danach wartet R auf die Eingabe von Daten. Dies ist v.a. nützlich um Tabellen aus dem Zwischenspeicher zu importieren:
> a <- read.table(file=stdin(),sep=";",dec=",",header=T) 0: Jahr;Nominell;Real # Paste aus dem Zwischenspeicher oder manuelle Eingabe 1: 1901;0,96;22,60 2: 1902;0,8;18,11 3: 1903;0,94;20,50 4: 1904;0,86;18,76 5: # Return in leerer Zeile beendet Eingabe > a Jahr Nominell Real 1 1901 0.96000 22.60 2 1902 0.80000 18.11 3 1903 0.94000 20.50 4 1904 0.86000 18.76
aus einem R-Objekt
[Bearbeiten]Mittels des Parameters "textConnection
" kann ein R-Objekt als Tabellen-Ersatz dienen:
MeineTabelle <- "Stadt;Einwohner;km2;Schulden in Mrd;Regierung Dortmund;580444;280,71;2,16;SPD Stuttgart;606588;207,36;2,8;CDU München;1353186;310,43;0;SPD Berlin;3499879;891,85;64,03;SPD und CDU Hamburg;1799144;755,264;24,9;SPD" meinedaten <- read.table(textConnection(MeineTabelle), sep=";", head=T, dec=",") head(meinedaten)