Ich verwende hauptsächlich Rstudio in Mac. Vor kurzem musste ich Windows benutzen. Ich habe jedoch herausgefunden, dass unique() keine eindeutigen Zeilen in der data.table basierend auf dem Schlüssel bereitstellt. Hier ein Beispiel:Unique verwendet keine Schlüssel mehr als Standard
a=c(2,3,3,3,3,5,6,7)
b=c("a","a","f","g","a","d","t","l")
e=data.table(a,b)
setkey(e, a)
key(e) # this works fine
unique(e)
unique() entfernt nur das Duplikat für die gesamte Zeile (Zeile 5). Der exakt gleiche Code läuft auf meinem Mac einwandfrei.
Das liegt daran, dass Sie auf beiden Versionen unterschiedliche data.table-Versionen haben. Auf dem Mac haben Sie eine <1.9.8 Version, während Sie unter Windows eine neuere Version haben. Bitte, bitte, lesen Sie die Dokumentation von "Unique", z. "* Standardmäßig werden alle Spalten verwendet. Dies wurde kürzlich geändert, um Konsistenz zu data.frame-Methoden zu erreichen. In der Version <1.9.8 war der Standardwert key (x) *". Dann versuche 'unique (e, by =" a ")' auf deinem Windows. –