使用R synth包对“ x中的值无限或缺失”造成的错误进行困惑

时间:2019-06-23 15:35:14

标签: r svd synth

我试图使用R中的'Synth'软件包来探索各种经济指标对城市车辆数量的影响,但是我一直挂在一个我无法理解的错误上。当我尝试运行synth()时,得到以下信息:

  

svd(c)中的错误:“ x”中的值无限或缺失

但是,我确定'x'中没有无限或缺失的值,并且'x'都不为零。而且,该功能在大多数城市都有效,但在少数几个城市上却失败了。为了使31个治疗城市成为合成城市,我通过将'treatment.identifier'号从1更改为31来运行'Synth'程序包31次。我的标识符31代码为:

dataprep.out31 <- dataprep(
  foo = total_try,
  predictors = c("area_admin","gdp","pop_new","wage_total","urbanization_rate","len_highway","road_area",
                 "taxi","bus_num","gov_exp","motor_private"),
  predictors.op = "mean",
  time.predictors.prior = 2006:2010,
  dependent = "motor_private",
  unit.variable = "ID",
  time.variable = "year",
  treatment.identifier =31,
  controls.identifier = c(32:257),
  time.optimize.ssr = 2006:2010,
  time.plot = 2006:2013)

synth.out31<- synth(data.prep.obj = dataprep.out31, method = "BFGS")

为您提供信息,我包括了ID为29的城市和ID为31的城市的X0和X1数据。事实证明,该功能适用​​于ID 29,但不适用于ID 31:

   area_admin    gdp pop_new wage_total urbanization_rate len_highway road_area taxi bus_num  gov_exp motor_private ID year
1       19699  44.66    3.41       5.03              0.17    13705.00      3.12 3.04    0.21  9292.04        102.02 29 2008
2       19698  65.64    3.39       6.89              0.17    13837.00      3.73 3.34    0.20 14675.37        203.98 29 2010
3       19699  33.42    3.40       4.31              0.17    13396.00      3.02 3.01    0.16  6968.82         44.88 29 2007
4       19699  25.40    3.40       3.29              0.15    13348.00      2.83 3.35    0.15  5039.92         41.00 29 2006
5       19698  51.81    3.43       5.93              0.18    13435.00      3.64 1.97    0.20 12144.73        152.05 29 2009
6       19731  92.06    3.41      11.49              0.18    14069.90      3.85 1.97    0.25 21371.93        212.02 29 2012
7       19698  81.30    3.41       9.20              0.18    14062.30      4.43 1.97    0.23 17332.55        195.93 29 2011
8       19698 100.29    3.40      12.40              0.18    14368.00      4.01 1.97    0.24 22905.76        233.36 29 2013
9       16404  38.57    3.10       4.24              0.18    12899.00      4.21 0.90    0.26  6640.54        115.09 31 2006
10      16404  47.02    3.14       5.43              0.18    13487.00      5.21 0.90    0.42  7210.64        129.69 31 2007
11      16392  98.66    3.25      13.82              0.19    15330.61      7.69 1.18    0.41 17864.07        296.95 31 2012
12      16392 102.22    3.28      15.72              0.19    15565.49     10.10 1.33    0.41 21363.33        350.40 31 2013
13      16404  76.38    3.21       9.67              0.19    14562.24      6.16 0.90    0.39 12053.94        231.65 31 2010
14      16404  56.78    3.18       7.11              0.18    14104.00      5.85 0.90    0.50  8567.95        154.14 31 2008
15      16392  89.02    3.23      12.09              0.19    14963.54      6.16 0.90    0.39 15419.89        277.88 31 2011
16      16404  63.68    3.20       8.06              0.18    14319.00      5.92 0.90    0.50 10308.73        188.41 31 2009

有人可以告诉我为什么会这样吗?

0 个答案:

没有答案