问题描述
到目前为止,我有一个面板数据集,其中包含 184 个国家/地区,从 1975 年到 2020 年每五年包含 40 个变量。对于许多变量,原始来源提供了自 1990 年代以来的值,因此我想外推前几年的值,并在面板数据集中创建一个新变量作为外推结果。我应该如何通过线性外推来完成这样的任务?
到目前为止我已经尝试过 approExtrap
df_longuse %>%
group_by(Country) %>%
mutate(avgschoolV2=approxExtrap(x=year,y=avgschool,xout=year)$y)
但代码返回的是阿富汗(第一个国家)的重复结果,不是每个国家的结果,新变量不能变异到面板数据中。
我也试过
na_spline <- function(x) if (all(is.na(x))) NA else na.spline(x,na.rm = FALSE)
和
na_approx <- function(x) if (all(is.na(x))) NA else na.approx(x,na.rm = FALSE,rule=2),
虽然第一个交还一些没有多大意义的预测,第二个将最早可用年份的记录复制到前几年,这不是我预期的结果。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)