gpt4 book ai didi

Stata:使用 egen group() 创建唯一标识符

转载 作者:行者123 更新时间:2023-12-02 21:29:30 24 4
gpt4 key购买 nike

我有一个数据集,其中每一行都是一个公司、年份对,其中 firmid 是一个字符串。

如果我这样做

duplicates drop firmid year, force

它不会删除任何内容,因为没有重复项(我最初在运行duplicates dropfirmidyear,force后创建了数据集)。

到目前为止一切顺利。我想创建一个需要数字 firmid 的面板。所以我跑了

egen newid = group(firmid)
xtset newid year

但是会弹出“面板中的重复时间值”错误。此外,

duplicates list newid year

列出一大堆重复项。

似乎egen, group() 没有生成唯一的组。我的问题是:为什么以及如何以稳健的方式创建独特的组?

最佳答案

这是一个旧线程,但我最近遇到了相同的症状,所以我想分享我的解决方案。当然,只要提问者不提供更多细节,我们就无法知道我和他的原因是否相同。

问题原来是精度问题。正如所解释的here在 4.4 节中,对存储为 float 的整数进行的计算仅在 16,777,216 以内的范围内才精确。因此,如果样本中的公司超过 16,777,216 家,舍入误差将导致将相同的 ID 分配给多个公司。通过将 ID 变量的精度增加为 long 可以直接解决这个问题:

egen long newid = group(firmid)

关于Stata:使用 egen group() 创建唯一标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22674280/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com