Существует два кадра данных, в первом отсутствуют пропущенные значения, во втором нет пропущенных значений. Правила таковы:
1: для year(t) of df1
, если значение year(t)
отсутствует, используется значение year(t-1)*ratio
. ratio = value of year(t) / value of year(t-1)
из df2
2: В df1 нет данных как в 2012, так и в 2013 году, но нам нужно только вменять пропущенные данные за 2012 год, то есть через год после самых последних данных. Нам не нужно вменять в течение всех лет.
Мой путь немного глуп. У кого-нибудь могут быть лучшие способы исправить это?
data2 = data.frame('population by age' = seq(5, 8, by = 1),
'2008' = c(145391,
140621,
136150,
131944
),
'2009' = c(148566,
143943,
139367,
135083
),
'2010' = c(152330,
147261,
142555,
138172
),
'2011' = c(156630,
151387,
146491,
141905
),
'2012' = c(133545,
129737,
126124,
122678
),
'2013' = c(119397,
116093,
112666,
109174))
data1 <- data.frame('grade' = seq(1, 4, by = 1),
'2008'= c(218701,
NA,
142190,
NA),
'2009' = c(NA,
196398,
155033,
NA),
'2010' = c(212512,
NA,
176268,
143699),
'2011' = c(218529,
198933,
NA,
159103),
'2012' = c(NA,
NA,
NA,
NA),
'2013' = c(NA,
NA,
NA,
NA)
)