Допустим, следующий набор данных временного ряда:
DF <- data.frame(T0=c(2012, 2016, 2014),
T1=c(2017, NA, 2019),
Duration= c(5,3,5),
val12 =c(15,43,7),
val13 =c(16,44,8),
val14 =c(17,45,9),
val15 =c(18,46,10),
val16 =c(19,47,11),
val17 =c(20,48,12),
val18 =c(21,49,13),
val19 =c(22,50,14),
SumVal =c(105,194,69))
print(DF)
T0 T1 Duration val12 val13 val14 val15 val16 val17 val18 val19 SumVal
1 2012 2017 5 15 16 17 18 19 20 21 22 105
2 2016 NA 3 43 44 45 46 47 48 49 50 194
3 2014 2019 5 7 8 9 10 11 12 13 14 69
Для построения модели продолжительности я хотел бы объединить переменные "valXX" в одну переменную SumVal в соответствии с их продолжительностью, как показано в таблице выше. Первый SumVal (105) соответствует val12 + ... + val17, так как это заданный интервал времени (2012-2017) для первого наблюдения.
NA в T1 указывают, что интересующее событие еще не произошло, и наблюдение подвергается цензуре. В этом случае Duration и SumVal будут основаны на интервале T0: 2019.
Я изо всех сил пытаюсь реализовать функцию в R, которая может выполнять эту задачу на очень большом фрейме данных.
Любая помощь будет высоко ценится!