Importieren, große csv-Datei in R, Fehler Lesen.csv.ffdf
Ich importieren möchten faily große Datei (40Mrows x 4columns). Ich landete mit ffbase, nach einem Versuch zu sqldf
Versuchte ich base::read.csv
: Es ist fehlgeschlagen. Ich habe versucht sqldf::sqldf
: Er versäumt zu sagen, es konnte keine Zuweisung mehr.
Ich bin nur versuchen, zu replizieren, das Beispiel in der ffbase vignette.
R) x <- data.frame(log=rep(c(FALSE, TRUE), length.out=26), int=1:26, dbl=1:26 + 0.1, fac=factor(letters), ord=ordered(LETTERS), dct=Sys.time()+1:26, dat=seq(as.Date("1910/1/1"), length.out=26, by=1))
R) x <- x[c(13:1, 13:1),]
R) csvfile <- tempPathFile(path=getOption("fftempdir"), extension="csv")
R) write.csv(x, file=csvfile, row.names=FALSE)
R) y <- read.csv(file=csvfile, header=TRUE)
R) y
log int dbl fac ord dct dat
1 FALSE 13 13.1 m M 2012-11-26 11:21:29.15763 1910-01-13
2 TRUE 12 12.1 l L 2012-11-26 11:21:28.15763 1910-01-12
3 FALSE 11 11.1 k K 2012-11-26 11:21:27.15763 1910-01-11
4 TRUE 10 10.1 j J 2012-11-26 11:21:26.15763 1910-01-10
...
23 TRUE 4 4.1 d D 2012-11-26 11:21:20.15763 1910-01-04
24 FALSE 3 3.1 c C 2012-11-26 11:21:19.15763 1910-01-03
25 TRUE 2 2.1 b B 2012-11-26 11:21:18.15763 1910-01-02
26 FALSE 1 1.1 a A 2012-11-26 11:21:17.15763 1910-01-01
# ---- !!!!! HERE !!!! ---- #
R) ffx <- read.csv.ffdf(file=csvfile, header=TRUE)
Erreur dans ff(initdata = initdata, length = length, levels = levels, ordered = ordered, : vmode 'character' not implemented
Verstehe ich nicht...
Haben Sie keine Einsicht?
- Man kann Lesen, auch größere Dateien mit sqldf. Pflege zu zeigen, was Sie gemacht haben? Haben Sie versucht, den Import eine Teilmenge der Daten (sagen wir ein paar hundert Zeilen)?
read.csv.sql()
im sqldf-Paket standardmäßig wird eine out-of-memory-Datenbank.sqldf()
standardmäßig wird eine in-memory-Datenbank, aber Sie können eine out-of-memory-Datenbank durch Angabedbname=tempfile()
zum Beispiel.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie wahrscheinlich übergeben Sie das argument colClasses wie folgt. Wie würden Sie mit einem normalen Lesen.csv -
sorry, ich bin spät, ich hatte keinen Zugang zu R letzten 3 Tage. Hier ist einige zusätzliche code für
read.csv
=> So
read.csv
können nicht damit umgehen, dass Anzahl der Zeilen.Gleichen test für
read.csv.sql
was ist ein wrapper dersqldf
nur für 500 Zeilen.BTW bitte darauf hinweisen, dass die
nbrows
option ist !FUNKTIONIERT NICHT!... abd, das Sie nicht deutencolClasses
argument...Für die ganze Tabelle, es stürzt ab...
Seltsam, wie es sein soll, eine Referenz für big data...
Und schließlich mit dem Paket
ff
für 50 ZeilenBitte beachten Sie, dass
head(data)
auch einen bug hat, ist es nicht angezeigt, die Spalten genau...Und für den ganzen Tisch... ES FUNKTIONIERT ... !Feuerwerk!
Für ein 36M Zeilen Tabelle
Folge ich empfehlen
ff
Paket laden big dataset