Ist das 'sortierte' Attribut Teil der offiziellen data.table-API?data.table: Bypass-Setkey bei Verwendung der monotonen Transformation einer Schlüsselvariablen
Ich mache häufig Dinge wie eine Woche/Monat/Quartal/Jahr Variable aus einer Datumsvariablen abzuleiten, die natürlich eine monotone Transformation ist. Ich mache dann Dinge mit einer dieser monoton abgeleiteten Variablen.
Ich frage mich, ob es sicher ist, meine Datumsvariable direkt durch den Namen der Woche/Monat/etc zu ersetzen. Variablen im sortierten Attribut und haben Dinge richtig funktionieren? das heißt die unten sicher zu tun:
library(data.table)
library(lubridate)
DT <- data.table(day=as.Date(c('2006-01-30', '2006-01-31', '2006-02-01', '2006-02-02')),
d=1:4, key='day')
DT[, month := floor_date(day, unit='month')]
# is this safe?
attr(DT, 'sorted') <- 'month'
ich konnte nicht herausfinden, ob es einige andere zugrunde liegenden Datenstrukturen waren, die in der Tabelle verweisen, die Probleme mit dieser Technik verursachen könnten.
Natürlich ist die Datensortierungsprüfung immer noch O (n), oder? – James