2014-03-05 61 views
0

我使用的Stata,并有两个时期,T1和T2面板数据,面板数据出现一次。我也有一个独特的标识符,如果这个人在两个时期都有回复,那么这个标识符在整个时期都是不变的中进行观察,只有

例如,如果person001完成在T1和T2的调查,回答每个周期都存储下标识符person001。这导致数据集中的两个条目具有相同的标识符,一个在t1下,另一个在t2下。

然而,有些人只完成了一个周期的调查,所以他们的标识符只出现在T1或T2。

我想办法drop那些只出现在一个时期或其他。

我已经试过

drop if identifier[_n-1] != identifier if period == t2 

但这只是drop一切都T1的意见。

+0

请注意,您的声明是非法的。第二个'if'应该是'&'。 –

回答

1

如果你的数据在长格式,尝试

bysort identifier: drop if _N==1 

bysort identifier: keep if _N==2 

此排序由id变量的数据。 _N是一个跟踪观察次数的系统变量。 bysort前缀的by部分计算id的每个值的观察值数量,而不是整个数据。然后你摆脱那些只出现一次的观察结果,或者出现两次的观察结果。这些行动是等同的。