我在Stata中有一个面板数据集,其中包含261个雇主两年来的工资数据。每个机构和每个员工都有一个惟一的ID变量。每行数据都是一个支付期。我在想如何计算每家机构的雇员人数。我可以使用by employee: gen pp_id = _n很容易地计算出每个员工的支付期数量,但这不适用于计算机构内的员工。
我尝试过使用egen employeecount = count(employee), by(agency),但这似乎是将员工I的值相加,而不是计算数字(因此,员工数分别为5、15和20的代理机构的员工数应该是40而不是3)。
对此有解决方案吗?有没有完全不同的方法让我来处理这个问题?谢谢!
发布于 2018-03-15 00:39:36
试一试
egen employeecount = nvals(employee), by(agency)获取机构内员工不同值的个数。这是在help egenmore下记录的,您必须安装它。
发布于 2018-03-15 00:45:10
在http://www.stata-journal.com/sjpdf.html?articlenum=dm0042的Stata中对这一领域进行了审查
@Dimitriy V.Masterov推荐的是好的,但是你可以在两个步骤中做到这一点,而不需要额外安装任何东西。
egen tag = tag(employee agency)
egen employeecount = total(tag), by(agency)对于这里正在发生的事情,以及其他许多事情,引用的论文给出了完整的故事。
https://stackoverflow.com/questions/49281697
复制相似问题