Headers 可能会产生误导 .
我有一个带有虚拟( dummy1 )变量的纵向数据集,指示某个年份是否满足条件,给定 category . 我希望在接下来的二十年里考虑这个事件 . 因此,我想创建一个新的虚拟对象( dummy2 ),其中 dummy1 为1的观察结果后的19个观测值的值为1,以及相同的观察结果(下面的示例) .
dummy1
category
dummy2
我试图创建一个带滞后运算符的循环,但到目前为止无法使其工作 .
即使失败的代码也可能接近一个好的解决方案 . 不提供失败的代码意味着我们无法解释您的错误 . 此外,关注如何使用软件做某事的问题在SO上被广泛认为是边缘的或偏离主题的 .
一种方法是
bysort category (year) : gen previous = year if dummy1 by category : replace previous = previous[_n-1] if missing(previous) gen byte dummy2 = (year - previous) < 20
这里的诀窍是创建一个变量,保持最后 year 虚拟(指标)为1,其中的技巧在How can I replace missing values with previous or following nonmissing values or within sequences?中拼写出来
year
请注意,这独立于
面板标识符是否为数字(可以在此处为字符串,在给出的证据上)
您是否拥有 tsset 或 xtset 数据
tsset
xtset
第一次事件发生之前会发生什么;这些年来, previous 缺生并且仍然缺失(但是,一般来说,在时间序列的末尾注意代码问题) .
previous
1 回答
即使失败的代码也可能接近一个好的解决方案 . 不提供失败的代码意味着我们无法解释您的错误 . 此外,关注如何使用软件做某事的问题在SO上被广泛认为是边缘的或偏离主题的 .
一种方法是
这里的诀窍是创建一个变量,保持最后
year
虚拟(指标)为1,其中的技巧在How can I replace missing values with previous or following nonmissing values or within sequences?中拼写出来请注意,这独立于
面板标识符是否为数字(可以在此处为字符串,在给出的证据上)
您是否拥有
tsset
或xtset
数据第一次事件发生之前会发生什么;这些年来,
previous
缺生并且仍然缺失(但是,一般来说,在时间序列的末尾注意代码问题) .