Фрейм данных, с которым я работаю, содержит записи о подписках с датой начала и окончания подписки. Пользователь может иметь несколько строк, так как он может иметь или иметь несколько подписок. Я хотел бы знать, сопровождается ли определенной подпиской другая подписка.
Я рассматривал возможность использования для l oop, поскольку количество наблюдений не особенно велико (прибл. 2000). Тем не менее, мои знания по этому предмету не особенно высоки, поэтому я не смог создать его. У каждого пользователя есть свой идентификационный код. Возможны разные типы подписок. Я создал фиктивную переменную для указанной c подписки, которую я хочу проверить, соблюдается ли она.
Пример того, как выглядят данные:
id startdate stopdate subscriptiontype
1 2013-05-01 2013-06-01 1
2 2010-05-02 2012-05-02 3
2 2013-05-02 2013-06-02 1
2 2013-07-23 2013-12-23 2
4 2008-05-02 2011-05-02 3
4 2013-05-04 2013-06-04 1
Я хотел бы видеть для каждого 'id', есть ли другая подписка с начальной датой после конечной даты типа подписки 1. Возможно ли это? Спасибо за чтение!
ДАННЫЕ
structure(list(id = c(1, 2, 2, 2, 4, 4), startdate = structure(c(3L,
2L, 4L, 6L, 1L, 5L), .Label = c("2008-05-02", "2010-05-02", "2013-05-01",
"2013-05-02", "2013-05-04", "2013-07-23"), class = "factor"),
stopdate = structure(c(3L, 2L, 4L, 6L, 1L, 5L), .Label = c("2011-05-02",
"2012-05-02", "2013-06-01", "2013-06-02", "2013-06-04", "2013-12-23"
), class = "factor"), subscriptiontype = c(1, 3, 1, 2, 3,
1)), class = "data.frame", row.names = c(NA, -6L))