2016-04-26 6 views
0

Ich arbeite mit großen Datensätzen. Ich kann einige von ihnen mit dem read.table Befehl lesen, aber mit dem Argument fill=TRUE wegen solcher Datensätze haben einige Leerzeichen, die NAs darstellen.Dimensionsabweichung zwischen Kopfzeile und erster Datenzeile. Bigmatrix

Jetzt habe ich eine Datenbank bis zu 35 Gb, so dass der übliche read.table Befehl nutzlos ist, so fand ich die read.big.matrix Funktion in das bigmemory Paket. Das Problem ist, dass es den folgenden Fehler zurückgibt:

"Dimension mismatch between header row and first data row." I think it is because it is not reading the blanks as NA's.

Wissen Sie, wie kann ich dieses Problem lösen? Vielen Dank.

+0

Sie könnten diese Theorie mit einer kleineren Datei testen, sagen Sie die ersten 10 oder 50 Zeilen Ihres Datasets. – lmo

+0

@lmo Danke. Mit read.table kann ich das Argument nrows verwenden, um das zu tun, was Sie vorschlagen, wissen Sie, welches Argument für read.big.matrix ähnlich ist? – vmgarciag

+0

Ich überprüfte und es scheint nicht, als gäbe es ein ähnliches Argument zu "read.big.matrix". Verwenden Sie Linux? Wenn ja, könnten Sie etwas wie 'head -50 filename> tempFile' versuchen. Ich denke, das würde funktionieren, aber überprüfe nur, um sicher zu sein. – lmo

Antwort

0

Ich hatte dieses Problem auch. Ich fand die Lösung schließlich, verwenden Sie head = FALSE mit read.big.matrix-Funktion. Dies funktioniert für mich aber die erste Zeile des Ergebnisses big.matrix hat NA für alle Spalten, weil es colnames nicht in Integer-Typen konvertieren kann (wenn Sie Integer als Typ von big.matrix gewählt haben).

Verwandte Themen