R 中的综合控制方法:"dataprep.out$X1 NULL"
Synthetic Control Method in R: "dataprep.out$X1 NULL"
我目前正在研究 2017 年可再生能源法 (Erneuerbare-Energien-Gesetz) 对采用合成控制方法的德国可再生能源生产的影响。
library(Synth)
data("EuEnergy")
dim(EuEnergy) #840*14
EuEnergy[28:32, 1:6]
dataprep.out <-
EuEnergy <- as.data.frame(EuEnergy)
dataprep(foo = EuEnergy,
predictors = c("coal" ,"oil" ,"gas" ,"nuc"),
predictors.op = c("mean") , # the operator
dependent = c("renew"), #dv
unit.variable = c("countrynumber"), #identifying unit numbers
time.variable = c("year"), #time-periods
special.predictors = list(
list("renew" , 2000:2016, c("mean")),
list("feconsum" , seq(2001,2016,2), c("mean")),
list("netimp" , seq(2001,2016,2), c("mean")),
list("capacity" , seq(2001,2016,2), c("mean")),
list("fenpercap" , seq(2001,2016,2), c("mean")),
list("coemiss" , seq(2001,2016,2), c("mean")),
list("gdp" , seq(2001,2016,2), c("mean"))
),
treatment.identifier = 5, #the treated case/ Germany
controls.identifier = c(1:4,6:28),#the control cases; all EU countries except Germany
time.predictors.prior = c(2001:2016) , #the entire time frame from start to end
time.optimize.ssr = c(2000:2016),#the time-period over which to optimize
unit.names.variable = c("countryname"), #identifying unit names
time.plot = c(1990:2018) #the entire time period before/after the treatment
)
dataprep.out$X1
当我 运行 代码时,我得到 dataprep.out$X1 NULL 这不是用于进一步计算的 X1 矩阵。
如果你有任何线索,请帮助我。
在上面的代码中,您正在分配 dataprep.out
as.data.frame(EuEnergy) 然后调用 dataprep()
只是打印到控制台(即,它没有分配给任何东西).没有数据,我无法测试它,但我认为这会起作用:
library(Synth)
data("EuEnergy")
dim(EuEnergy) #840*14
EuEnergy[28:32, 1:6]
EuEnergy <- as.data.frame(EuEnergy)
dataprep.out <- dataprep(foo = EuEnergy,
predictors = c("coal" ,"oil" ,"gas" ,"nuc"),
predictors.op = c("mean") , # the operator
dependent = c("renew"), #dv
unit.variable = c("countrynumber"), #identifying unit numbers
time.variable = c("year"), #time-periods
special.predictors = list(
list("renew" , 2000:2016, c("mean")),
list("feconsum" , seq(2001,2016,2), c("mean")),
list("netimp" , seq(2001,2016,2), c("mean")),
list("capacity" , seq(2001,2016,2), c("mean")),
list("fenpercap" , seq(2001,2016,2), c("mean")),
list("coemiss" , seq(2001,2016,2), c("mean")),
list("gdp" , seq(2001,2016,2), c("mean"))
),
treatment.identifier = 5, #the treated case/ Germany
controls.identifier = c(1:4,6:28),#the control cases; all EU countries except Germany
time.predictors.prior = c(2001:2016) , #the entire time frame from start to end
time.optimize.ssr = c(2000:2016),#the time-period over which to optimize
unit.names.variable = c("countryname"), #identifying unit names
time.plot = c(1990:2018) #the entire time period before/after the treatment
)
dataprep.out$X1
我目前正在研究 2017 年可再生能源法 (Erneuerbare-Energien-Gesetz) 对采用合成控制方法的德国可再生能源生产的影响。
library(Synth)
data("EuEnergy")
dim(EuEnergy) #840*14
EuEnergy[28:32, 1:6]
dataprep.out <-
EuEnergy <- as.data.frame(EuEnergy)
dataprep(foo = EuEnergy,
predictors = c("coal" ,"oil" ,"gas" ,"nuc"),
predictors.op = c("mean") , # the operator
dependent = c("renew"), #dv
unit.variable = c("countrynumber"), #identifying unit numbers
time.variable = c("year"), #time-periods
special.predictors = list(
list("renew" , 2000:2016, c("mean")),
list("feconsum" , seq(2001,2016,2), c("mean")),
list("netimp" , seq(2001,2016,2), c("mean")),
list("capacity" , seq(2001,2016,2), c("mean")),
list("fenpercap" , seq(2001,2016,2), c("mean")),
list("coemiss" , seq(2001,2016,2), c("mean")),
list("gdp" , seq(2001,2016,2), c("mean"))
),
treatment.identifier = 5, #the treated case/ Germany
controls.identifier = c(1:4,6:28),#the control cases; all EU countries except Germany
time.predictors.prior = c(2001:2016) , #the entire time frame from start to end
time.optimize.ssr = c(2000:2016),#the time-period over which to optimize
unit.names.variable = c("countryname"), #identifying unit names
time.plot = c(1990:2018) #the entire time period before/after the treatment
)
dataprep.out$X1
当我 运行 代码时,我得到 dataprep.out$X1 NULL 这不是用于进一步计算的 X1 矩阵。
如果你有任何线索,请帮助我。
在上面的代码中,您正在分配 dataprep.out
as.data.frame(EuEnergy) 然后调用 dataprep()
只是打印到控制台(即,它没有分配给任何东西).没有数据,我无法测试它,但我认为这会起作用:
library(Synth)
data("EuEnergy")
dim(EuEnergy) #840*14
EuEnergy[28:32, 1:6]
EuEnergy <- as.data.frame(EuEnergy)
dataprep.out <- dataprep(foo = EuEnergy,
predictors = c("coal" ,"oil" ,"gas" ,"nuc"),
predictors.op = c("mean") , # the operator
dependent = c("renew"), #dv
unit.variable = c("countrynumber"), #identifying unit numbers
time.variable = c("year"), #time-periods
special.predictors = list(
list("renew" , 2000:2016, c("mean")),
list("feconsum" , seq(2001,2016,2), c("mean")),
list("netimp" , seq(2001,2016,2), c("mean")),
list("capacity" , seq(2001,2016,2), c("mean")),
list("fenpercap" , seq(2001,2016,2), c("mean")),
list("coemiss" , seq(2001,2016,2), c("mean")),
list("gdp" , seq(2001,2016,2), c("mean"))
),
treatment.identifier = 5, #the treated case/ Germany
controls.identifier = c(1:4,6:28),#the control cases; all EU countries except Germany
time.predictors.prior = c(2001:2016) , #the entire time frame from start to end
time.optimize.ssr = c(2000:2016),#the time-period over which to optimize
unit.names.variable = c("countryname"), #identifying unit names
time.plot = c(1990:2018) #the entire time period before/after the treatment
)
dataprep.out$X1