GNU R: read.table
read.table(file)
liest eine Tabelle entsprechend ihrer Zeilen und Spalten ein, welche als ein ASCII-Datei file vorliegt.
Argumente
BearbeitenDas 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
BearbeitenNach 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
BearbeitenFalls 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
BearbeitenLegen 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
BearbeitenStatt 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
BearbeitenMittels 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)