2016-10-08 1 views
0

zu importieren Ich habe eine dat. Datei mit einer wirklich langen Zeile. Ich habe das spezifische Layout, um die Daten zu lesen, aber ich weiß nicht wie.wie dat Datei in R

Was ich bisher gemacht habe (basierend auf Recherchen in anderen Posts) versuche, readLines, read.fwf zu verwenden, und ich habe auch versucht, diese Zeile in einen Vektor zu kopieren, der später entsprechend der Logik im Layout aufgeteilt wird aber ohne Erfolg. Alle Ansätze scheinen auf ein Problem mit der Länge der fraglichen Linie zu stoßen, die die gesamten Daten zusammensetzt. Datei

Alle Vorschläge sind willkommen!

PS: Ich bin ein Anfänger in R

Ich denke, es wird gut sein ein Beispiel so hier hinzufügen kommt es:

Wenn wir eine Textdatei mit einer einzigen Zeile haben wie folgt:

1 a 5 2 B 6 3 C 7

und wir das Layout haben wir in diesem Fall müssen drei Variablen mit der Länge 1 - der erste numerische, die zweite - Zeichenfolge und die dritte - numerische wieder

die importierte Datenrahmen sollte folgendermaßen aussehen:

2 b 6

3 c 7

3 Reihen, 3 Spalten

+0

Vorschlag # 1: post minimaler Code, den Sie versucht haben, der nicht funktioniert hat; Vorschlag Nr. 2: Veröffentlichen Sie die tatsächlichen Fehler, die Sie erhalten, oder ein minimales Ausgabe-Beispiel, das anzeigt, was kaputt ist. Vorschlag Nr. 3: Posten Sie eine kleine Probe der "wirklich langen" Linie (nicht die gesamte Linie, sofern nicht angefordert) und auch die Länge der Linie. – hrbrmstr

Antwort

0

dat-Dateien benötigen Sie den Verwenden Sie den Befehl read.delim(). Informationen zur Formatierung finden Sie unter ?read.delim.

EDIT:

Vielleicht, nachdem Sie es als eine einzige Zeile lesen konnte man so etwas tun:

# Creating sample data 
data <- data.frame(x = c(1, 'a', 5, 2, 'b', 6, 3,'c', 7)) 
# Creating the columns 
a <- as.numeric(data$x[seq(1,nrow(data), 3)]) 
b <- as.character(data$x[seq(2,nrow(data), 3)]) 
c <- as.numeric(data$x[seq(3, nrow(data), 3)]) 
# Putting it all together 
data1 <- data.frame(a,b,c) 

Dies funktioniert auch, wenn Sie eine Menge von Zeilen erstellen möchten bekommt aber langweilig, wenn Sie habe viele Spalten. Ehrlich gesagt hatte ich nie nur eine einzige Zeile in einer Datei, daher weiß ich nicht, wie ich das direkt beim Lesen angeben soll. Hoffe, dass das immer noch hilft :)

+0

Hallo Vielen Dank für die Antwort. Ich habe gerade in read.delim nachgeschaut. Ich bin neugierig, wie man das Layout explizit einstellt. siehe das Beispiel, das ich im ursprünglichen Code hinzugefügt habe – criticalth

Verwandte Themen