首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将叠加的纵向数据集与Stata中的字符串变量ID合并?

如何将叠加的纵向数据集与Stata中的字符串变量ID合并?
EN

Stack Overflow用户
提问于 2015-06-12 14:00:29
回答 2查看 2.4K关注 0票数 0

我一直试图将最初从merge导入的三个Stata文件与6个字符串ID代码(例如n5fpeb)合并,但没有成功。它们作为str6变量存储在Stata数据文件中。

我还记录了一些其他变量,这些变量也识别了每个观察结果--一个数字参与者ID和一个学校ID编号,因为每个参与者都是学生。我的主数据集是堆叠格式的,因为我的数据是纵向的。当我尝试1:m合并(即merge 1:m id using "C:\Users ... May.dta", generate(_merge1))时,Stata返回以下错误消息:variable id does not uniquely identify observations in the master data

我读过各种指南,但不明白为什么数据集不会合并。我是不是用错了命令?或者可能是字符串变量,或者多个字符串变量,混淆了Stata?我想学习如何干净地将未来的观察添加到我的主数据集中。

EN

Stack Overflow用户

发布于 2015-06-12 17:31:47

我会尽力解释这个错误

变量id并不唯一地标识主数据中的观测值。

看看这个数据集

代码语言:javascript
运行
复制
clear
input ///
id date metric
1 25 45
1 26 98
1 27 54
2 23 09
2 24 13
2 25 87
end

list, sepby(id)

这是纵向(面板)数据,就像你说的那样。尽管我们有一个名为id的变量,但这并不意味着该变量唯一地标识了观察结果。事实上,事实并非如此。如果我要覆盖datemetric上的信息(比如用一张纸),那么您就无法根据变量id唯一地标识每个观察结果;对于每个主题的所有三个观测值,id都具有相同的值。

现在滑动你的纸张,这样你就可以看到iddate了。因为这两个变量的组合创建了唯一的值对(即1/25、1/26、1/27、2/23、.),所以变量结合在一起,唯一地标识了观测值。注意,merge命令接受一个varlist,因此可以指定多个变量。

Stata在你的merge 1:m id中抱怨说,它希望id能唯一地识别观察结果,但是它没有。另外,它说问题在于主数据,也就是当前加载的数据。

代码语言:javascript
运行
复制
duplicates report id
duplicates report id date

加载示例数据集之后,您将在单独使用id时看到重复的数据集,而对于id date则没有重复的数据集。

如果您提供了有代表性的示例数据集(主数据集和使用数据集),以及最终数据集的外观,您可能会得到所需命令的特定帮助。有关指南,请参见this page

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30804946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档