Мой вопрос состоит из 2 частей: во-первых, я хочу выполнить последнее наблюдение, перенесенное (или завершенное) с использованием фрейма данных, аналогичного приведенному ниже. Итак, пропущенный год / месяц должен быть создан, и впоследствии значения для X1 и X2 должны быть перенесены вперед.
set.seed(1)
df <- data.frame(year = sort(rep(c(2018,2019),4)),
month = c(1,2,5,8,1,2,3,6),
X1 = sort(sample(1:100,8)),
X2 = sort(sample(1:100,8)))
Желаемый результат должен быть:
year month X1 X2
1 2018 1 20 7
2 2018 2 27 18
3 2018 3 27 18
4 2018 4 27 18
5 2018 5 37 21
6 2018 6 37 21
7 2018 7 37 21
8 2018 8 57 37
9 2018 9 57 37
10 2018 10 57 37
11 2018 11 57 37
12 2018 12 57 37
13 2019 1 62 47
14 2019 2 86 63
15 2019 3 89 66
16 2019 4 89 66
17 2019 5 89 66
18 2019 6 97 73
19 2019 7 97 73
20 2019 8 97 73
21 2019 9 97 73
22 2019 10 97 73
23 2019 11 97 73
24 2019 12 97 73
Кроме того, у меня есть некоторые переменные, которые я хотел бы сгруппировать по. Поэтому, если у меня есть переменная под названием «Группа», состоящая из значений 1 и 2, я хочу, чтобы описанный выше LOCF выполнялся для обеих групп отдельно.