Stata面板数据 - 计算组中的人(不是观察值)

时间:2018-03-14 15:27:43

标签: statistics stata

我在Stata中有一个面板数据集,其中包含两年内261名雇主的工资单数据。每个机构都有一个唯一的ID变量,每个员工也是如此。每行数据都是一个支付期。我试图弄清楚如何计算每个机构的员工人数。我很容易使用by employee: gen pp_id = _n计算每位员工的工资期数,但这不适用于计算代理机构内的员工。

我已尝试使用egen employeecount = count(employee), by(agency),但这似乎会增加员工ID的价值而不是计算数量(因此,员工5,15和20的代理机构会有employeecount 40而不是3)。

有解决方案吗?还有另外一种方法我应该接近这个吗?谢谢!

2 个答案:

答案 0 :(得分:2)

尝试

egen employeecount = nvals(employee), by(agency)

获取代理机构内员工的不同值的数量。这在help egenmore下记录,您必须安装。

答案 1 :(得分:2)

http://www.stata-journal.com/sjpdf.html?articlenum=dm0042

在Stata对此地区进行了审核

@Dimitriy V.Masterov推荐的很好,但你可以分两步完成,而无需额外安装任何东西。

egen tag = tag(employee agency) 
egen employeecount = total(tag), by(agency)

对于这里发生的事情以及其他许多内容,引用的论文给出了完整的故事。