Stata:删除非唯一重复项
Stata: Removing Non-unique duplicates
考虑到我数据中的 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
我会失去那些年的所有实例吗?我怎样才能至少保留一个?
您想在代码中使用 _n
而不是 _N
来分配分组 ID,例如:
bysort cik year: gen copies = _n
然后删除 copies
较大的观测值:
drop if copies > 1
这里可以使用duplicates
,但在你的情况下
bysort year cik : keep if _n == 1
直接带你到那里。变量 copies
没有明显的用处。
考虑到我数据中的 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
我会失去那些年的所有实例吗?我怎样才能至少保留一个?
您想在代码中使用 _n
而不是 _N
来分配分组 ID,例如:
bysort cik year: gen copies = _n
然后删除 copies
较大的观测值:
drop if copies > 1
这里可以使用duplicates
,但在你的情况下
bysort year cik : keep if _n == 1
直接带你到那里。变量 copies
没有明显的用处。