Большое спасибо.

ая сэтот ТАК вопрос.

примерdata.frame:

df = read.table(text = 'ID  Day Count   Count_group
            18  1933    6   15
            33  1933    6   15
            37  1933    6   15
            18  1933    6   15
            16  1933    6   15
            11  1933    6   15
            111 1932    5   9
            34  1932    5   9
            60  1932    5   9
            88  1932    5   9
            18  1932    5   9
            33  1931    3   4
            13  1931    3   4
            56  1931    3   4
            23  1930    1   1
            6   1800    6   12
            37  1800    6   12
            98  1800    6   12
            52  1800    6   12
            18  1800    6   12
            76  1800    6   12
            55  1799    4   6
            6   1799    4   6
            52  1799    4   6
            133 1799    4   6
            112 1798    2   2
            677 1798    2   2
            778 888     4   8
            111 888     4   8
            88  888     4   8
            10  888     4   8
            37  887     2   4
            26  887     2   4
            8   886     1   2
            56  885     1   1
            22  120     2   6
            34  120     2   6
            88  119     1   6
            99  118     2   5
            12  118     2   5
            90  117     1   3
            22  115     2   2
            99  115     2   2', header = TRUE)

Count Col показывает общее количествоID значения для каждогоDay иCount_group Кол показывает суммуID значения для каждогоDay, Day - 1, Day -2, Day -3 а такжеDay -4.

например 1933 =Count_group 15 потому чтоCount 6 (1933) +Count 5 (1932) +Count 3 (1931) +Count 1 (1930) +Count 0 (1929).

Что мне нужно сделать, это создать дублированные наблюдения для каждогоCount_group и добавить их к нему, чтобы показать для каждогоCount_group егоDay, Day - 1, Day -2, Day -3 а такжеDay -4.

напримерCount_group = 15 состоит из значений счетчикаDay 1933, 1932, 1931, 1930 (и 1929df). Таким образом, пять дней должны быть включены вCount_group = 15. Следующий будетCount_group = 9, составлено к 1932, 1931, 1930, 1929 и 1928 годам; так далее...

Желаемый вывод:

ID  Day   Count Count_group
18  1933    6   15
33  1933    6   15
37  1933    6   15
18  1933    6   15
16  1933    6   15
11  1933    6   15
111 1932    5   15
34  1932    5   15
60  1932    5   15
88  1932    5   15
18  1932    5   15
33  1931    3   15
13  1931    3   15
56  1931    3   15
23  1930    1   15

111 1932    5   9
34  1932    5   9
60  1932    5   9
88  1932    5   9
18  1932    5   9
33  1931    3   9
13  1931    3   9
56  1931    3   9
23  1930    1   9

33  1931    3   4
13  1931    3   4
56  1931    3   4
23  1930    1   4

23  1930    1   1

6   1800    6   12
37  1800    6   12
98  1800    6   12
52  1800    6   12
18  1800    6   12
76  1800    6   12
55  1799    4   12
6   1799    4   12
52  1799    4   12
133 1799    4   12
112 1798    2   12
677 1798    2   12

55  1799    4   6
6   1799    4   6
52  1799    4   6
133 1799    4   6
112 1798    2   6
677 1798    2   6

112 1798    2   2
677 1798    2   2

778 888     4   8
111 888     4   8
88  888     4   8
10  888     4   8
37  887     2   8
26  887     2   8
8   886     1   8
56  885     1   8

37  887     2   4
26  887     2   4
8   886     1   4
56  885     1   4

8   886     1   2
56  885     1   2

56  885     1   1

22  120     2   6
34  120     2   6
88  119     1   6
99  118     2   6
12  118     2   6
90  117     1   6

88  119     1   6
99  118     2   6
12  118     2   6
90  117     1   6
22  115     2   6
99  115     2   6

99  118     2   5
12  118     2   5
90  117     1   5
22  115     2   5
99  115     2   5

90  117     1   3
22  115     2   3
99  115     2   3

22  115     2   2
99  115     2   2

(обратите внимание, что разные группы по 5 дней были разделены пустой строкой, чтобы сделать их более понятными)

У меня есть разные data.frames, которые сгруппированы по n дням, и поэтому я хотел бы адаптировать код (немного изменив его) специально для каждого из них.

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос