我有一个没有id或year变量的面板数据集。但我知道数据是按顺序排列的,因此每七个观测值代表一个人,七个观测值中的每一个代表一年。我需要创建单独的id变量,但我不知道如何在不使用Stata命令by:
和sort
的情况下执行此操作。
答案 0 :(得分:0)
有各种方法可以继续。一种是使用egen
函数seq()
来创建序列变量。
egen long id = seq(), block(7)
大型数据集需要明确的long
。使用此语法,标识符将运行1,1,1,1,1,1,1,2,2,2,2,2,2,2等。
egen year = seq(), from(1) to(7)
显然,如果你知道它们,你应该用实际的开始和结束年代替1
和7
。
这里的egen
函数只是更多基本函数和命令的包装器。这是另一种方法:
gen id2 = ceil(_n/7)
gen year2 = mod(_n - 1, 7) + 1