У меня есть наблюдения с уникальными идентификаторами, которые связаны с одной или несколькими START
/ END
парой дат.Эти наблюдения повторяются для каждого идентификатора за месяц в диапазоне дат.Пример для одного уникального идентификатора и категории, усеченной по длине.
ID START END MONTH CAT.A
10056 2004-01-08 2005-01-07 Jan 2004
10056 2004-01-08 2005-01-07 Feb 2004
10056 2004-01-08 2005-01-07 Mar 2004
...
10056 2004-01-08 2005-01-07 Nov 2004
10056 2004-01-08 2005-01-07 Dec 2004
10056 2004-01-08 2005-01-07 Jan 2005
--------------------------------------
10056 2006-11-28 2008-02-20 Nov 2006
10056 2006-11-28 2008-02-20 Dec 2006
10056 2006-11-28 2008-02-20 Jan 2007
...
10056 2006-11-28 2008-02-20 Dec 2007
10056 2006-11-28 2008-02-20 Jan 2008
10056 2006-11-28 2008-02-20 Feb 2008
--------------------------------------
10056 2010-01-30 2011-02-03 Jan 2010
10056 2010-01-30 2011-02-03 Feb 2010
10056 2010-01-30 2011-02-03 Mar 2010
...
10056 2010-01-30 2011-02-03 Dec 2010
10056 2010-01-30 2011-02-03 Jan 2011
10056 2010-01-30 2011-02-03 Feb 2011
Решение, которое я ищу, кумулятивно подсчитывает каждое уникальное вхождение события CAT.A
.В первом диапазоне дат CAT.A
будет 1, с шагом CAT.A
до 2 во втором диапазоне дат и 3 в третьем.Этот счетчик будет уникальным для этого идентификатора и будет NA
в противном случае
ID START END MONTH CAT.A
10056 2004-01-08 2005-01-07 Jan 2004 1
10056 2004-01-08 2005-01-07 Feb 2004 1
10056 2004-01-08 2005-01-07 Mar 2004 1
...
10056 2004-01-08 2005-01-07 Nov 2004 1
10056 2004-01-08 2005-01-07 Dec 2004 1
10056 2004-01-08 2005-01-07 Jan 2005 1
--------------------------------------
10056 2006-11-28 2008-02-20 Nov 2006 2
10056 2006-11-28 2008-02-20 Dec 2006 2
10056 2006-11-28 2008-02-20 Jan 2007 2
...
10056 2006-11-28 2008-02-20 Dec 2007 2
10056 2006-11-28 2008-02-20 Jan 2008 2
10056 2006-11-28 2008-02-20 Feb 2008 2
--------------------------------------
10056 2010-01-30 2011-02-03 Jan 2010 3
10056 2010-01-30 2011-02-03 Feb 2010 3
10056 2010-01-30 2011-02-03 Mar 2010 3
...
10056 2010-01-30 2011-02-03 Dec 2010 3
10056 2010-01-30 2011-02-03 Jan 2011 3
10056 2010-01-30 2011-02-03 Feb 2011 3
Набор данных имеет миллионы других уникальных идентификаторов и 11 других категорий, но если я смогу найти решение для этого подмножества, мне следуетсмог применить его ко всему набору данных.
Я нашел решения, которые позволят мне подсчитать общее количество уникальных комбинаций ID
, START
, END
, но ничего, что не поможет увеличитьA в каждом наблюдении только один раз, когда оно относится к новому уникальному событию START
, END
.
Я использовал data.table и lubridate.