У меня есть ДТ:
library(data.table)
DT <- data.table(a = c(1,2,3,4,5), b = c(4,5,6,7,8), c = c("X","X","X","Y","Y") )
Я хочу добавить один столбец d в каждую группу столбца C:
- значение первой строки должно быть таким же, как
b[i]
, - предпоследняя строка в каждой группе должна быть
d[i-1] + 2*b[i]
Предполагаемые результаты:
a b c d
1: 1 4 X 4
2: 2 5 X 14
3: 3 6 X 26
4: 4 7 Y 7
5: 5 8 Y 23
Я пытался использовать такие функции, как сдвиг, но я изо всех сил пытаюсь динамически обновлять строки (так сказать) здесь, интересно, есть ли какое-нибудь элегантное решение в стиле data.table?