В панельных данных у меня есть некоторые значения NA, которые я хотел бы экстраполировать на конец или начало интересующих меня лет. Большинство решений подобных вопросов связаны с интерполяцией. Обратите внимание, что это не так.
Аналогичный образец моих данных, называемый данными, выглядит так:
> data
REGION YEAR VALUE
1 A 2011 NA
2 A 2012 NA
3 A 2013 NA
4 A 2014 20.00
5 A 2015 25.00
6 A 2016 30.00
7 A 2017 35.00
8 A 2018 40.00
9 B 2011 NA
10 B 2012 0.30
11 B 2013 0.50
12 B 2014 0.70
13 B 2015 0.90
14 B 2016 0.11
15 B 2017 0.13
16 B 2018 0.15
17 C 2011 100.00
18 C 2012 101.00
19 C 2013 102.00
20 C 2014 103.00
21 C 2015 104.00
22 C 2016 105.00
23 C 2017 106.00
24 C 2018 NA
Некоторые решения, которые я нашел для подобных вопросов:
Я пробовал с na_interpolate
, но он просто повторяет последние значения. Я также пробовал с mutate
в сочетании с na.spline
, но это создает значения, которые явно неверны для линейной регрессии.
Я уверен, что должен быть простой способ оценить эти значения.
Ожидаемый результат должен выглядеть так:
> data
REGION YEAR VALUE
1 A 2011 5.00
2 A 2012 10.00
3 A 2013 15.00
4 A 2014 20.00
5 A 2015 25.00
6 A 2016 30.00
7 A 2017 35.00
8 A 2018 40.00
9 B 2011 0.10
10 B 2012 0.30
11 B 2013 0.50
12 B 2014 0.70
13 B 2015 0.90
14 B 2016 0.11
15 B 2017 0.13
16 B 2018 0.15
17 C 2011 100.00
18 C 2012 101.00
19 C 2013 102.00
20 C 2014 103.00
21 C 2015 104.00
22 C 2016 105.00
23 C 2017 106.00
24 C 2018 107.00
спасибо за помощь