Hi all,
It probably is a simple solution but my brain is too jumbled so need help from the experts here. I have the following dataset and i need to create the "new" variable in the last column. The "new" variable takes on 1 whenever 'date' changes within id and fills with subsequent values i.e. 2, 3 whenever 'signal' changes within 'date'. Thanks.


Code:
+---------------------------------------------------------+
  |    id              time        date   signal    y   new |
  |---------------------------------------------------------|
  | 61247    1/29/2020 2:15   29jan2020        1   20     1 |
  | 61247    1/29/2020 2:15   29jan2020        1   10     1 |
  | 61247    1/29/2020 2:15   29jan2020        1   30     1 |
  | 61247    1/29/2020 2:15   29jan2020        1   10     1 |
  | 61247    1/29/2020 2:15   29jan2020        1   20     1 |
  | 61247    1/29/2020 2:15   29jan2020        1   20     1 |
  | 61247    1/29/2020 2:15   29jan2020        1   40     1 |
  | 61247    1/29/2020 2:15   29jan2020        1   20     1 |
  |---------------------------------------------------------|
  | 61247    1/30/2020 9:59   30jan2020        2   50     1 |
  | 61247    1/30/2020 9:59   30jan2020        2   30     1 |
  | 61247    1/30/2020 9:59   30jan2020        2   30     1 |
  | 61247    1/30/2020 9:59   30jan2020        2   40     1 |
  | 61247    1/30/2020 9:59   30jan2020        2   50     1 |
  | 61247    1/30/2020 9:59   30jan2020        2   20     1 |
  | 61247    1/30/2020 9:59   30jan2020        2   20     1 |
  | 61247    1/30/2020 9:59   30jan2020        2   10     1 |
  |---------------------------------------------------------|
  | 61247   1/30/2020 10:54   30jan2020        3    0     2 |
  | 61247   1/30/2020 10:54   30jan2020        3    0     2 |
  | 61247   1/30/2020 10:54   30jan2020        3    0     2 |
  | 61247   1/30/2020 10:54   30jan2020        3   10     2 |
  | 61247   1/30/2020 10:54   30jan2020        3    0     2 |
  | 61247   1/30/2020 10:54   30jan2020        3    0     2 |
  | 61247   1/30/2020 10:54   30jan2020        3    0     2 |
  | 61247   1/30/2020 10:54   30jan2020        3    0     2 |
  |---------------------------------------------------------|
  | 61247    1/30/2020 1:02   30jan2020        4   10     3 |
  | 61247    1/30/2020 1:02   30jan2020        4   10     3 |
  | 61247    1/30/2020 1:02   30jan2020        4   10     3 |
  | 61247    1/30/2020 1:02   30jan2020        4   10     3 |
  | 61247    1/30/2020 1:02   30jan2020        4   10     3 |
  | 61247    1/30/2020 1:02   30jan2020        4   10     3 |
  | 61247    1/30/2020 1:02   30jan2020        4    0     3 |
  | 61247    1/30/2020 1:02   30jan2020        4    0     3 |
  |---------------------------------------------------------|
  | 61247    1/30/2020 2:06   30jan2020        5   10     4 |
  | 61247    1/30/2020 2:06   30jan2020        5   10     4 |
  | 61247    1/30/2020 2:06   30jan2020        5    0     4 |
  | 61247    1/30/2020 2:06   30jan2020        5   10     4 |
  | 61247    1/30/2020 2:06   30jan2020        5   10     4 |
  | 61247    1/30/2020 2:06   30jan2020        5   10     4 |
  | 61247    1/30/2020 2:06   30jan2020        5   10     4 |
  | 61247    1/30/2020 2:06   30jan2020        5   10     4 |
  |---------------------------------------------------------|
  | 61247    1/31/2020 2:37   31jan2020        8   10     1 |
  | 61247    1/31/2020 2:37   31jan2020        8    0     1 |
  | 61247    1/31/2020 2:37   31jan2020        8    0     1 |
  | 61247    1/31/2020 2:37   31jan2020        8    0     1 |
  | 61247    1/31/2020 2:37   31jan2020        8    0     1 |
  | 61247    1/31/2020 2:37   31jan2020        8    0     1 |
  | 61247    1/31/2020 2:37   31jan2020        8    0     1 |
  | 61247    1/31/2020 2:37   31jan2020        8    0     1 |
  |---------------------------------------------------------|
  | 61247    1/31/2020 3:35   31jan2020        9   10     2 |
  | 61247    1/31/2020 3:35   31jan2020        9   10     2 |
  +---------------------------------------------------------+