Zscore与滚动窗口面板数据

时间:2017-01-20 17:04:43

标签: merge stata

我正在尝试使用滚动窗口计算zscore。我需要实际计算3年滚动窗口的标准偏差来计算z得分。下面给出了一个最小的工作示例:

     use http://dss.princeton.edu/training/Panel101.dta
     xtset country year
     rolling sd_x1=r(sd), step(1) window(3) saving(sd_x1, replace) keep(year): sum x1, detail

此后我需要merge回原始文件。但变量year不会出现,但会显示列名称日期,其中包含所有缺失值。我正在尝试merge使用以下命令:

     merge 1:1 country year using sd_x1

但是,我得到的错误是找不到变量year,实际上在运行rolling命令时不保留此变量。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我总是感到惊讶的是,人们对基于三个值的标准偏差有兴趣或信心。

更直接的方法是使用rangestat(SSC)。语法可能类似于

use http://dss.princeton.edu/training/Panel101.dta
xtset country year
rangestat (sd) sd=x1, interval(year 0 2) by(country) 

除了我现在无法测试这个。

这里的关键区别是rangestat在当前数据集中生成新变量。搜索Statalist档案以获取rangestat使用的示例。

请注意,在您的示例中,detail选项是不必要的,因为summarize本身会产生标准偏差。

您可以扩展此方法以同时获得平均值。