Я пытаюсь добавить новые столбцы в data.table
, где значения в строках зависят от относительной взаимосвязи значений в строке. Если быть точнее, если есть значение X в строке, я хотел бы знать, сколько других значений находится в одном столбце (и группе), которые находятся внутри X-30.Подсчитайте количество значений в окне таблицы данных.
То есть, учитывая это:
DT<-data.table(
X = c(1, 2, 2, 1, 1, 2, 1, 2, 2, 1, 1, 1),
Y = c(100, 101, 133, 134, 150, 156, 190, 200, 201, 230, 233, 234),
Z = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12))
Я хотел бы получить новый столбец со значениями:
N <- c(0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 2)
Я попытался следующие, но я не получаю результаты Я мог бы использовать:
DT[,list(Y,num=cumsum(Y[-.I]>DT[.I,Y]-30),Z),by=.(X)]
Любые идеи, как это сделать? (?)