【发布时间】:2016-09-15 06:47:40
【问题描述】:
我想使用数据表的 frank 函数按 id 对日期列进行排名。但是,我的排名似乎只考虑了日期列,而不是对应于它的 id。我还收到了其中 6 个我不确定的警告:
1.....
6: 在[.data.table(dups, , :=(rank, frank(dups, date, ties.method = "average")), :
RHS 1 的长度为 10(大于第 6 组的大小 (1))。最后 9 个元素将被丢弃。
dups <- data.table (id = c('11', '11', '11', '22','22',
'88', '99','44','44', '55'),
date = mdy(c("1-01-2016", "1-02-2016", "1-02-2016","2-01-2016",
"2-02-2016")))
so.sample <- dups[, rank := frank(dups, date, ties.method = "average"), by = id]
例如,id = 11 和 date = 2016-01-01 应该排名 1 而不是 1.5,因为只有一个 id 和 date 的组合。
感谢帮助
【问题讨论】:
标签: r data.table rank