Stata:删除非唯一重复项

  • 本文关键字:唯一 删除 Stata stata
  • 更新时间 :
  • 英文 :


考虑到我的数据中的subyear_total变量,我想保留每个公司年度观察的副本。

我的一些数据在任何一年都有多个条目,如副本所示。

副本由创建:

bysort cik year: gen copies = _N

如何删除重复项,但保留唯一观测的一份副本?

* Example generated by -dataex-. To install: ssc install dataex
clear
input int year long cik float(subyear_total copies)
1999 1750   425000  1
2005 1750  4232000  1
2006 1750 1.60e+07  1
2007 1750   182444  3
2007 1750   182444  3
2007 1750   182444  3
2008 1750   710909  3
2008 1750   710909  3
2008 1750   710909  3
2009 1750  5155390  5
2009 1750  5155390  5
2009 1750  5155390  5
2009 1750  5155390  5
2009 1750  5155390  5
end

例如:

2007年有3个条目,我想保留其中一个,剩下的就放弃。2008年和2009年也是如此(共有5个条目(。

如果我做drop if copies > 1,我会失去那些年的所有实例吗?我怎么能至少留一个?

这里可以使用duplicates,但在您的情况下是

bysort year cik : keep if _n == 1 

直接把你送到那里。变量copies则没有明显的用途。

您希望在代码中使用_n而不是_N来分配组ID,如:

bysort cik year: gen copies = _n

然后用copies较大的一个进行跌落观测:

drop if copies > 1

最新更新