1

我正在Stata中将两个数据集合并在一起,并提出了一个潜在的问题。

我计划在sort两个数据集共有的几个分类变量上以完全相同的方式对每个数据集进行处理。然而,几个分类变量在一个数据集中存在的类别比另一个数据集中的类别多。我已经足够小心以确保两个数据集的编码匹配(例如,红色在数据集 A 和 B 中都编码为 1,但数据集 A 只有红色、绿色和蓝色,而数据集 B 有红色、绿色、蓝色和黄色)。

如果我对sort每个数据集以相同的方式和generate一个id变量 ( gen id = _n)merge进行处理,我会遇到任何问题吗?

4

2 回答 2

6

这里没有统计问题,因为这纯粹是关于 Stata 中的数据管理,所以我也将很快投票支持将其迁移到 Stack Overflow,我将成为可能尝试回答它的人之一,所以我会这样做现在那个。

无论您的问题中的任何其他细节如何,您描述生成标识符的内容并不是如何考虑合并数据集。

想象任何两个数据集,然后在每个数据集中,generate根据您的建议,基于观察数字的标识符。生成此类相似的标识符不会创建真正的merge密钥。您不妨说一个数据集中的四个值“Alan”“Bill”“Christopher”“David”可以与另一个数据集中的“William”“Xavier”“Yulia”“Zach”合并,因为两者都可以用观察编号 1 到 4。

我的建议有三点:

  1. 尝试使用您的数据提出的建议并尝试了解结果。

  2. 考虑一下你是否还有别的东西,即一个append问题。将两者混淆是很常见的。

  3. 如果这两个都失败了,请返回一个真正的问题、真正的代码和一个小样本的实际结果,而不是抽象的担忧。

于 2013-06-14T23:36:03.573 回答
-1

我想我可能已经解决了我的问题 - 我想我会发布一个专门与该问题相关的答案,以防有人遇到同样的问题。

~~

我有两个数据集:一个包含有关 IT 帮助在客户身上花费的时间量的信息,另一个包含客户购买了多少产品的数据集。两个数据集都包含每个公司的唯一 ID 号以及将这些集链接在一起的财政季度和年度(例如,ID# 1001 对应于两个数据集中的同一家公司)。此外,IT 数据集包含每个 IT 人员的唯一 ID 号,客户购买数据集包含每个购买的唯一 ID 号。我对单个员工级别的分析不感兴趣,因此我将 IT 时间数据集折叠为在给定公司花费的时间总和,无论谁在那里。

我对合并这两个数据集很感兴趣,以便我可以执行分析来估计某种“响应能力”(或弹性)函数,将 IT 花费的时间和购买的产品联系在一起。

我确定这是“合并”数据的情况,因为我想添加更多变量而不是观察 - 也就是说,我希望水平拉长而不是垂直拉长我的最终数据集。

Stata 12 有很多合并选项——一对一、多对一和一对多。假设我将 IT 时间数据集视为我的主数据集,并将我的购买数据集视为我的合并集,我将执行“m:1”或多对一合并。这是因为我有很多购买对应于每家公司每季度的一次观察。

于 2013-06-17T07:11:18.473 回答