按住户分类,只有在2000年2月之后开始观测时才保留数据-Stata

按住户分类,只有在2000年2月之后开始观测时才保留数据-Stata,stata,subsampling,Stata,Subsampling,我在Stata工作,有列出投资组合(houseID)、年和月、股票ID和股票回报的数据。数据跨越数年。看起来: 我基本上是在尝试分离数据的子样本。如果他们的第一次投资组合观察是在2000年2月,我只想保留这些房屋及其数据。在上面的数据中,我想删除223号和382号房屋,只保留448号房屋的数据 我的第一次尝试是: 按房号:如果 但我一直在搞砸。有人有什么想法吗?谢谢你的帮助 clear all set more off input /// houseid year month 223 199

我在Stata工作,有列出投资组合(houseID)、年和月、股票ID和股票回报的数据。数据跨越数年。看起来:

我基本上是在尝试分离数据的子样本。如果他们的第一次投资组合观察是在2000年2月,我只想保留这些房屋及其数据。在上面的数据中,我想删除223号和382号房屋,只保留448号房屋的数据

我的第一次尝试是:

按房号:如果

但我一直在搞砸。有人有什么想法吗?谢谢你的帮助

clear all
set more off

input ///
houseid year month
223 1997 1
223 1997 2
223 1998 1
223 2000 1
223 2000 2
223 2000 3
448 2000 2
448 2000 3
end

list

bysort houseid (year month): keep if year[1] == 2000 & month[1] == 2

list
keep
将删除不需要的观察结果。相反,您也可以标记感兴趣的子样本并使用它。比如说

bysort houseid (year month): gen ok = year[1] == 2000 & month[1] == 2

<some command> if ok
bysort houseid(年-月):gen ok=year[1]==2000和month[1]==2
如果可以的话
有关更高级的日期操作,请尝试使用日期变量。例如,见

bysort houseid (year month): gen ok = year[1] == 2000 & month[1] == 2

<some command> if ok


答案不错,但第一个常见问题是针对Stata 5的。那里的语法已经过时了。更好的引用是