Probleme mit dem Sekundärschlüssel von data.table

8

Hier ist ein reproduzierbares Beispiel:

%Vor%

Nun rufe ich einen einfachen Befehl auf, der ein für mich seltsames Ergebnis ergibt:

%Vor%

Mit dem Filter val=='2' habe ich erwartet, Datensätze 2 und 3 zu erhalten, aber tatsächlich habe ich nur Datensatz 3 bekommen. Dies ist offensichtlich auf den Sekundärschlüssel zurückzuführen, da seine Entfernung das erwartete Verhalten zurückbringt:

%Vor%

Ich frage mich, ob es ein Fehler oder erwartetes Verhalten ist. In meinem Fall war es offensichtlich nicht erwünscht: Ich wusste nicht einmal etwas über Sekundärschlüssel (bevor ich set2key(myDT, NULL) Anweisung hinzugefügt habe, aber jetzt mache ich mir Sorgen, dass ähnliche Dinge in anderen Teilen meines Codes passieren könnten und ich weiß nicht, wie ich es erkennen / verhindern könnte - ich möchte es nicht hinzufügen set2key(., NULL) ruft nach jeder anderen Zeile auf ...

    
Vasily A 25.01.2016, 00:09
quelle

1 Antwort

0

das war in der Tat ein Fehler (ich meldete es, aber es stellte sich heraus, dass es bereits gemeldet wurde), und es wurde in der Paketversion 1.9.7 behoben - jetzt funktioniert alles!

    
Vasily A 10.03.2016, 04:48
quelle

Tags und Links