【发布时间】:2014-03-24 22:19:20
【问题描述】:
'sorted' 属性是官方 data.table API 的一部分吗?
我经常做一些事情,比如从日期变量中导出周/月/季度/年变量,这当然是单调变换。然后,我使用这些单调派生变量之一来处理。
我想知道将我的日期变量直接替换为周/月/等名称是否安全。排序属性中的变量并让事情正常工作?即以下是否安全:
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'
我不知道是否有其他一些基础数据结构引用到表中可能会导致这种技术出现问题。
【问题讨论】:
-
数据排序检查肯定还是O(n)吧?
标签: r data.table