我尝试使用R中的lpirfs包运行线性和非线性面板局部投影模型。函数是lp_lin_panel和lp_nl_panel。目标是估计地缘政治风险冲击对国家通胀率的脉冲响应函数。我的数据的第一列是国家。第二列是时间。我有15个国家,我使用的是1985年的季度数据-2020年。第三列是通货膨胀率。第四列是Iacoviello和Caldara的GPR指数。第五列是滞后的GPR。第六列是通货膨胀率目标的虚拟。我使用的代码是:
results_panel <- lp_nl_panel(data_set = data, data_sample = "Full", endog_data = 'Inflation', shock = 'GPR', panel_model = 'within', panel_effect = 'twoways', robust_cov = 'vcovSCC', switching = "IRT", lag_switching = FALSE, gamma = 10, confint = 1, hor = 25)
results_panel_2 <- lp_lin_panel(data_set = data, data_sample = "Full", endog_data = 'Inflation', shock = 'GPR', iv_reg = TRUE, instrum = "GPRIV", panel_model = "within", panel_effect = "twoways", robust_cov = "vcovSCC",confint = 1, hor = 25)
字符串
对于这两个输出,我得到相同的错误:
plm.fit(data,model,effect,random.method,random.models,random.dfcor,:empty model)中的错误。
我已经尝试
data_1 <- pdata.frame(data, index = "Time")
data_3 <- pdata.frame(data, index = c("Country", "Time"))
型
但这两种方法都没有奏效。
我相信我设置面板数据不正确,但我不知所措。提前感谢您的帮助!
1条答案
按热度按时间ltqd579y1#
在估计局部投影模型之前,您需要对变量进行排序。您可以这样做:
data <- dataset %>% dplyr::select(Country, Time, everything())
然后你可以做你的估计!