我有一个数据集,它看起来如下:
1. individual time woman
2. 1 2008 1
3. 1 2009 1
4. 1 2010 1
5. 2 2008 0
6. 2 2009 0
7. 2 2010 1
8 2 2010 0
9. 3 2008 0
10. 3 2009 0
11. 3 2010 0
问题在于,2010年的一些观察结果显示两次,男性和女性都是如此。这是例如观察7和8的情况。我想知道,如果有可能删除以过去为条件的观察,即对于个体2,它应该删除观察7,因为6是0.
我希望它有道理, 感谢。
答案 0 :(得分:1)
以下内容应过滤掉woman
的所有观察值,而不是给定个体的第一次观察值。假设数据集按个人排序。
data x;
set x;
by individual;
retain _woman;
if first.individual then _woman = woman;
else if _woman ^= woman then delete;
run;
答案 1 :(得分:0)
所以你想保留每个individual
和time
的第一个观察结果?
您可以执行以下操作(数据集应按individual
和time
排序):
data want;
set have;
by individual time;
if first.time = 1 then output;
run;