2016-06-21 15 views
0

Ich habe 26MB die Textdatei mit 21 Variablen und ich versuchte, die Daten zu importieren:Importieren Textdatei in r

file<-read.table("file.txt", header=FALSE, sep="\t",skip=10) 

Aus irgendeinem Grunde wird ein Datum mit einer Variablen geladen. Irgendwelche Vorschläge werden geschätzt?

Meine Session wie folgt aussieht:

sessionInfo() 
R version 3.0.1 (2013-05-16) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 

Edit: Hier einige der Daten ist:

8760 
201001010100 
201001010100 
00001 -9.0 
00002 18 
    201001010100  00002  0.0000  100.0000  250.0000  500.0000  750.0000  1000.0000  1500.0000  2000.0000  3000.0000  4000.0000  5000.0000  6000.0000  7500.0000  8500.0000  10000.0000  12000.0000  15000.0000  18000.0000 
    201001010100  00002  86.8757   89.1179   90.9795   97.8640   99.0000   99.0000   99.0000   99.0000   99.0000   98.5143   86.4022   83.7819   63.1753   63.1753   15.9124   15.9124  0.500000  0.500000  
    201001010200  00002  91.2323   93.8417   95.9578   99.0000   99.0000   99.0000   99.0000   99.0000   99.0000   98.9829   88.4616   82.8682   59.4900   59.4900   16.8052   16.8052  0.500000  0.500000  
    201001010300  00002  94.3013   97.2262   99.0000   99.0000   99.0000   99.0000   98.6965   99.0000   99.0000   99.0000   87.7681   85.6374   51.5871   51.5871   19.4833   19.4833  0.500000  0.500000  
    201001010400  00002  95.2143   98.3831   99.0000   99.0000   98.9409   97.9819   99.0000   99.0000   98.6090   89.6825   85.1337   84.1001   47.7453   47.7453   20.1295   20.1295  0.500000  0.500000  
    201001010500  00002  94.9904   98.2644   99.0000   97.4757   94.7400   96.5887   99.0000   99.0000   98.1337   89.6765   88.0377   80.0048   47.3583   47.3583   23.5985   23.5985  0.500000  0.500000  
+0

Sie alle Variablen in einer einzigen Spalte am Ende oder ist die erste Variable die einzige, die geladen wird? – thepule

+0

@thepule Alle Variablen enden in einer einzelnen Spalte. Mit anderen Worten, die Breite wird mit der Länge kompensiert. – G1124E

+2

Sind Sie sicher, dass Ihre Datei Tabulator-getrennt ist und die Datei nach 10 Zeilen einheitlich ist? – Psidom

Antwort

0

Sie scheinen verschiedene nr zu haben. von Spalten in Ihrer Datei (21 in Zeile 5 VS 20 in den Zeilen über Zeile 5 hinaus).

Ähnlich wie bei @thepule vorgeschlagen, mit können Sie einfach die sep Parameter komplett weglassen, und geben Ihnen normalerweise gute Ergebnisse, indem Sie etwas sinnvolles automatisch tun. In Ihrem Fall mit der Linie 1-5 Weglassen führt dies in 8 Zeilen mit 20 Variablen:

> f <- read.table('file.txt', header=FALSE, skip=5) 
> str(f) 

data.frame': 8 obs. of 20 variables: 
$ V1 : num 2.01e+11 2.01e+11 2.01e+11 2.01e+11 2.01e+11 ... 
$ V2 : int 2 2 2 2 2 2 2 2 
$ V3 : num 86.9 91.2 94.3 95.2 95 ... 
[...] 

sep='' Einstellung, die alle weißen Flächen zwischen den Spalten überspringt in Ihrem Fall so gut funktionieren würde.

Edit: falls Sie unterschiedliche Menge an Spalten (= Elemente) haben pro Zeile, die Sie fill=T in read.table Einstellung in Erwägung ziehen könnte. Dies wird fehlende Informationen mit leeren Feldern füllen - aber stellen Sie sicher, dass dies ist, was Sie eigentlich wollen zu tun.

PS: file wäre eine Funktion sein, also würde ich mit einem anderen Namen für die Variable empfehlen.

+0

ich Ihre Lösung verwendet, aber ich bekam Fehlermeldung, die sagen: 'Fehler in Scan (Datei, was, nmax, sep, Dezember, zitat, überspringt, nlines, na.strings,: Linie 8762 hat nicht 20 elements' – G1124E

+0

Diese gibt an, dass Ihre Datendatei nicht die gleiche Anzahl an Spalten pro Zeile enthält (Zeile 6-8761 hat alle 20 Elemente, Zeile 8762 hat jedoch einen anderen Wert.) Sie könnten "fill = T" festlegen, aber stellen Sie sicher, dass dies der Fall ist Wirklich, was du * willst * – geekoverdose

+0

Darf ich etwas sagen? Dein 'fill = TRUE' hat funktioniert. Danke. Du bist großartig! – G1124E

Verwandte Themen