【发布时间】:2021-12-11 05:44:23
【问题描述】:
假设我有下面的df
df <- data.table(group_id = c(1,1,2,2)
, week_no = c('2019-01', '2019-02', '2019-03', '2019-04')
); df
group_id week_no
1: 1 2019-01
2: 1 2019-02
3: 2 2019-03
4: 2 2019-04
分组frank 工作正常:
df[, dummy := frankv(week_no), group_id]; df
group_id week_no dummy
1: 1 2019-01 1
2: 1 2019-02 2
3: 2 2019-03 1
4: 2 2019-04 2
但是,如果我想按降序排列:
df[, dummy := frankv(-date), group_id]; df
我得到错误:
Error in -date : invalid argument to unary operator
我想这与列week_no 的类是character 有关。除了按升序排列日期,然后按降序排列虚拟列之外,还有其他方法吗?谢谢。
【问题讨论】:
标签: r data.table rank