gpt4 book ai didi

stata - 如何使用 Stata 有效地创建滞后变量

转载 作者:行者123 更新时间:2023-12-01 10:20:00 31 4
gpt4 key购买 nike

我有面板数据(时间: 日期,名称: 代码)。我想为变量 xy 创建 10 个滞后。现在,我使用以下代码一个一个地创建每个滞后变量:

by ticker: gen lag1 = x[_n-1]

但是,这看起来很乱。

谁能告诉我如何更有效地创建滞后变量?

我应该使用循环还是 Stata 有更有效的方法来处理此类问题?

最佳答案

@Robert 向您展示了简化的方法。为了完成,这是“传统的”、无聊的方式:

clear
set more off

*----- example data -----

set obs 2

gen id = _n
expand 20

bysort id: gen time = _n
tsset id time

set seed 12345
gen x = runiform()
gen y = 10 * runiform()

list, sepby(id)

*----- what you want -----

// "traditional" loop
forvalues i = 1/10 {
gen x_`i' = L`i'.x
gen y_`i' = L`i'.y
}

list, sepby(id)

和一个组合:

// a combination
foreach v in x y {
tsrevar L(1/10).`v'
rename (`r(varlist)') `v'_#, addnumber
}

如果目的是创建滞后变量以在某些估计中使用它们,请知道您可以在许多估计命令中直接使用时间序列运算符;也就是说,不需要首先创建滞后变量。请参阅 help tsvarlist

关于stata - 如何使用 Stata 有效地创建滞后变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31234458/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com