错误:在进行 GMM 估计器时,`n` 必须是非负整数标量

我正在尝试使用一系列创新指标对滞后的 GDP 增长率值进行滞后面板数据分析。

这是我的数据:https://drive.google.com/file/d/17I5F037eiiZ5LUOSwKIWaBaKlI6IEN6Q/view?usp=sharing

这是我的代码:

# GDP-Innovation Analysis 
library(readr)
library(plm)
library(dplyr)
library(tidyr)

# Set working directory and imprt data
setwd("~/Desktop/CCEP/Dissertation ")
GDP_Analysis <- read_csv("GDP_Analysis.csv")
View(GDP_Analysis)
#summary(GDP_Analysis)
attach(GDP_Analysis)


# Log variables
GDP_Analysis$lenviro_patents=log(GDP_Analysis$enviro_patents)
GDP_Analysis$lrenewable_cap=log(GDP_Analysis$renewable_cap)
GDP_Analysis$lpub_energy_fun=log(GDP_Analysis$pub_energy_fun)
GDP_Analysis$lren_patents=log(GDP_Analysis$ren_patents)
GDP_Analysis$lco2_intensity=log(GDP_Analysis$co2_intensity)
GDP_Analysis$lall_patents=log(GDP_Analysis$all_patents)
GDP_Analysis$lgerd=log(GDP_Analysis$gerd)
GDP_Analysis$ltrademarks=log(GDP_Analysis$trademarks)

# PANEL DATA WHERE COUNTRY_ID IS CROSS SECTIONAL IMENSION AND YEAR IS THE TIME
pdata <- pdata.frame(GDP_Analysis,index = c("country_id","year"),drop.index = FALSE,row.names = TRUE,stringsAsFactors = default.stringsAsFactors(),replace.non.finite = TRUE,drop.NA.series = FALSE,drop.const.series = FALSE,drop.unused.levels = FALSE
)

# GMM MODEL X = ENVironMENTAL PATENTS
ep.gmm <- pgmm(lenviro_patents ~ lag(lenviro_patents,1) + lag(gdp_gr,-1:10) 
           | lag(lenviro_patents,2:99),data = pdata,effect = "twoways",model = "twosteps")
summary(ep.gmm)

当我尝试运行上述模型时,我收到以下错误代码。

Error: `n` must be a nonnegative integer scalar,not an integer vector of length 12. 

长度为 X 的向量根据我使用的滞后值的数量而变化。我认为这可能是数据问题而不是编码问题,因为我可能有很多 NA。有没有办法解决?我的研究问题的前提非常依赖于测试 GDP 增长率的滞后值。在不使用 GMM 技术的情况下,还有其他方法可以做到这一点吗?

GY176984859 回答:错误:在进行 GMM 估计器时,`n` 必须是非负整数标量

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/30495.html

大家都在问