Ich habe 32 GB RAM auf diesem Rechner, aber ich kann R schneller töten als jeder andere;)
Das Ziel ist hier, eine rbind()
von zwei data.tables mit Funktionen zu erreichen, die die Effizienz von data.table nutzen.
Eingabe:
%Vor%Ausgabe:
%Vor%Eingabe:
%Vor%Ausgabe:
%Vor%Eingabe:
%Vor%Ausgabe:
Ha! Nee. RStudio startet die Sitzung neu.
Was ist hier los? Das explizite Festlegen der Faktorstufen in join.table
hatte keine Auswirkungen. rbind()
anstelle von merge()
hat nicht geholfen - genau dasselbe Verhalten. Ich habe viel kompliziertere und umfangreichere Dinge mit diesen Daten ohne Probleme gemacht.
Data.table ist Version 1.8.11.
o
rbindlist
mit mindestens einer Faktorspalte zusammen mit dem Vorhandensein von mindestens einem leerendata.table
resultierte in segfault (oder in linux / mac hat einen Fehler in Bezug auf Hashtabellen gemeldet). Dies ist jetzt behoben, # 5355. Danke an Trevor Alexander für die Meldung von SO (und mnel für die Einreichung des Fehlerberichts): das Zusammenführen von wirklich nicht so großen data.tables führt sofort dazu, dass R getötet wird
Dies kann reproduziert werden mit einer einzelnen Zeile data.table
mit einer factor
-Spalte und einer Null-Zeile data.table mit einer Faktorspalte.
Unter Verwendung von debugonce(data.table:::merge.data.table)
kann dies auf die Zeile rbind(dt,yy)
zurückgeführt werden, die dem Äquivalent von
Wenn Sie es ausführen, wird derselbe Fehler auftreten.
Dies wurde den Paketautoren als Problem gemeldet # 5355
Tags und Links memory r data.table