Звучит так, как будто вы, возможно, захотите сначала определить когорту, которую может представлять год рождения. Затем вы можете group_by
год рождения и рассчитать совокупную смертность. Я составил несколько примеров данных для этого примера.
library(tidyverse)
df %>%
mutate(BirthYear = Year - Age) %>%
group_by(BirthYear) %>%
mutate(CumDeath = cumsum(Deaths)) %>%
arrange(BirthYear)
Выход
Year Age Deaths BirthYear CumDeath
<dbl> <int> <int> <dbl> <int>
1 1923 5 42 1918 42
2 1923 4 3 1919 3
3 1924 5 25 1919 28
4 1923 3 14 1920 14
5 1924 4 14 1920 28
6 1925 5 28 1920 56
7 1923 2 15 1921 15
8 1924 3 37 1921 52
9 1925 4 27 1921 79
10 1923 1 31 1922 31
11 1924 2 43 1922 74
12 1925 3 5 1922 79
13 1924 1 50 1923 50
14 1925 2 27 1923 77
15 1925 1 26 1924 26
Данные
df <- structure(list(Year = c(1923, 1923, 1923, 1923, 1923, 1924, 1924,
1924, 1924, 1924, 1925, 1925, 1925, 1925, 1925), Age = c(1L,
2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L), Deaths = c(31L,
15L, 14L, 3L, 42L, 50L, 43L, 37L, 14L, 25L, 26L, 27L, 5L, 27L,
28L)), class = "data.frame", row.names = c(NA, -15L))