索引R中数据框的重复案例

indexing duplicated cases of a data frame in R

要创建报告,我必须重新排列我的 data.frame。

是:

     id       date  kind datn 
AE00049 1999-03-01 train    2 
AE00049 1999-03-01   bus    2 
AE00049 2009-05-01 train    1 
AE00052 1997-07-15   bus    1 
AE00066 2005-09-01  tram    1 
AE0007X 2009-07-01   bus    2 
AE0007X 2009-07-01 train    2 
AE00186 2002-11-01   bus    3 
AE00186 2002-11-01 train    3 
AE00186 2002-11-01  tram    3 

我的目标是为具有相同 ID 和日期的行提供一个新的索引号,如下所示:

     id      date  kind datn datnno
AE00049 1999-03-01 train    2      1
AE00049 1999-03-01   bus    2      2
AE00049 2009-05-01 train    1      1
AE00052 1997-07-15   bus    1      1
AE00066 2005-09-01  tram    1      1
AE0007X 2009-07-01   bus    2      1
AE0007X 2009-07-01 train    2      2
AE00186 2002-11-01   bus    3      1
AE00186 2002-11-01 train    3      2
AE00186 2002-11-01  tram    3      3

我该怎么做?

我们可以使用 ave 创建一个序列列,使用 'id' 和 'date' 作为分组变量。

 df1$datnno <- with(df1, ave(seq_along(id), id, date, FUN=seq_along))