Скажем, у меня есть следующие данные, dat1;
width from by
2 1 A
3 1 A
2 2 A
3 2 A
2 1 B
3 1 B
2 2 B
3 2 B
И, кроме того, dat2;
x pos by
4 1 A
5 2 A
7 3 A
3 4 A
2 1 B
4 2 B
3 3 B
5 4 B
Скажем, я хочу создать новый столбец в dat1 значений скользящей суммы из dat2, где;
Наша ширина этой скользящей суммы эквивалентна ширине, указанной в этой строке
Наша начальная позиция эквивалентна значению вектора from в этой строке.
Мы хотим сделать это для фактора A или B, в зависимости от того, какой уровень находится в строке.
Пока у меня есть то, что мы хотим
rollapply(x = dat2$x, width = dat1$width, FUN = sum, align = "left", data = dat2)
Поэтому мне нужно включить в начальную позицию и уровень фактора для этой начальной позиции.
Итак, в этом случае я хочу получить
width from by RS
2 1 A 9
3 1 A 16
2 2 A 12
3 2 A 15
и т.д
Любая помощь будет принята с благодарностью. Спасибо