setkey и := оператор, data.table, R

При использовании пакета data.tableя немного не уверен, когда мне нужно setkey(). Например, при использовании оператора :=с опцией byкажется, что все по-прежнему работает очень быстро, даже несмотря на то, что я не установил ключ. Может кто-нибудь объяснить, когда setkey()необходимо, а когда нет? И если нет необходимости перед вызовом :=с by, то почему пакет data.tableнастолько быстр, поскольку, по-видимому, он должен делать то же самое, что и applyв стандартном data.frameR, выполняя последовательный поиск а не двоичный, поскольку он не знает, действительно ли мой data.tableотсортирован по аргументу by.

Спасибо

18
задан Alex 20 July 2012 в 18:03
поделиться