R,面板数据中的异常值检测循环

时间:2018-05-05 22:56:41

标签: r loops outliers panel-data

我使用的面板数据框看起来像这样:

        date    w    x    y    z    Country
1    2009 01    21   43   12    3   AT
2    2009 02    32   54   21   16   AT
3    2009 03    14   32   65   32   AT
4    2009 04    65   33   75   21   AT
:        :      :    :    :    :       :
:        :      :    :    :    :       :
55   2009 01    32   58   53   17   BE
56   2009 02    12   47   43   23   BE
57   2009 03    87   43   21   76   BE
:        :      :    :    :    :       :
85   2009 01    12   46   84   29    CZ
86   2009 02    85   29   90   12    CZ
:        :      :    :    :    :       :
:        :      :    :    :    :       :

for total of 28 countries

我想通过为不同的子集(一次不包括一个国家/地区)评估相同的plm模型来运行循环来检测可能的异常区域。子集创建可能看起来像这样:

uniq <- unique(unlist(full_panel$Country))
for (i in 1:length(uniq)){
data_1 <- subset(full_panel, Country!=uniq[i])
}

和要评估的模型:

plm(data_1, y~x+lag(x)......,
  model="within", effect="individual")

之后我想通过打印一个特定的统计数据(让我们说 adj R-sq)来生成数据框的代码,以便比较稍后会有不同的子集。

目前,我只是尝试创建代码的不同部分,因为我是初学者,在编写最后一部分并将它们全部组合时遇到问题。

非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:0)

考虑by在数据框的子集之间运行操作,返回包含函数返回项的列表(等于不同分组的数量),这里是每个子集化数据的数据框{{1模型结果。

plm