对 R 中的面板数据进行线性外推

问题描述

到目前为止,我有一个面板数据集,其中包含 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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...