【问题标题】:Creating lagged variable only generates missings创建滞后变量只会产生缺失
【发布时间】:2013-11-09 19:31:47
【问题描述】:

我想在我的数据集中 generate 变量 gdp_cp 的滞后变量。数据集如下所示:

year    | gdp_cp
1975    | 5.414e+14
1976    | 5.786e+14
1977    | 6.293e+14
1978    | 6.787e+14
1979    | 7.211e+14
1980    | 7.923e+14
1981    | 8.552e+14
1982    | 8.744e+14
1983    | 9.511e+14
1984    | 1.017e+15

所以我尝试使用以下命令告诉 Stata 这个数据集是一个时间序列:

tsset gdp_cp year, yearly

在输出窗口中,我得到以下信息:

panel variable:  gdp_cp (weakly balanced)
 time variable:  year, 1975 to 2010
         delta:  1 year

然后我想使用以下命令创建 gdp_cp 的滞后版本:

gen gdp_lagged = L1.gdp_cp

不幸的是,Stata 只创建了缺失值...所以我做错了什么?

【问题讨论】:

    标签: stata


    【解决方案1】:

    tsset 命令中的第一个变量应该是id(无论它在您的数据集中是什么,例如,国家、地区、家庭 等)。如果您在该命令中添加gdp,Stata 使用gdp 来识别每个观察,即将每个条目视为独立于其余条目,因此不会有任何滞后。

    【讨论】:

    • 此外,将 10^14 或 10^15 级别的值保存在 float 变量或任何变量中都不是一个好主意。即使将您的数据提供给许多有效数字,并且您相信它们,float 也没有足够的位来保证准确地保存它们。此外,如果您使用floats 而不是doubles 进行计算,则会失去精度,并且系数估计等很可能最终会变得非常大或非常小,并且无论哪种方式都难以处理。选择一个合理的单位,例如所用货币的数十亿美元。
    • 感谢您的回答和提示!
    猜你喜欢
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-18
    • 2013-08-31
    • 1970-01-01
    • 2018-11-27
    相关资源
    最近更新 更多