解决在stata横向合并出现的not uniquely identify observations in the using/master data

问题描述

  1. 一表有排污费变量,一表有政府环保补助变量。想要通过股票代码(stkcd)和年份(year)一一对应,将两表汇成一表。
  2. 预实现:stkcd(重污染行业)、year(2011-2017)、排污费、环保补助四列的面板数据。
  3. stata代码:merge 1:1 stkcd year using “环保补助的文件夹路径”
  4. 报错提醒:variables stkcd year do not uniquely identify observations in the master data

处理报错方法(无用)

  1. duplicates list,显示没有重复值,但是仍没解决问题
  2. list stkcd if stkcd ==stkcd[_n-1],还没解决问题

最终解决方法

  1. **问题的发现:**发现在master表格中,存在几列的stack、year相同,但是排污费不同。如图:
    在这里插入图片描述
  2. 解决方法:
用Excel排查重复项目:

先建一列,=A2&B2,后应用到下面的所有行。
在这里插入图片描述
在根据条件格式中筛选出重复值即可。
在这里插入图片描述

  • 12
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Stata横向合并数据集的命令是`merge`,它可以将两个或多个数据集按照共同的变量进行合并。具体操作步骤如下: 1. 首先确认要合并的数据集中有共同的变量,可以使用`describe`命令查看变量名称和格式。 2. 使用`merge`命令,语法为: ``` merge 1: 数据集1的文件路径和名称 2: 数据集2的文件路径和名称 [using 3: 数据集3的文件路径和名称] [, options] ``` 其中,`1`和`2`为必选项,表示要合并的两个数据集。如果要合并多个数据集,可以使用`using`选项,并在其中列出所有要合并的数据集。`options`为可选项,用于指定合并方式和其他参数。 3. 指定合并方式。`merge`命令默认使用内连接(inner join)的方式进行合并,即只保留两个数据集中共有的观测值。如果需要使用其他合并方式,可以使用`merge`命令的`type`选项,例如: - `type(1:m)`:左连接(left join),保留第一个数据集中所有观测值,同时将第二个数据集中匹配到的观测值合并进去,没有匹配到的变量为缺失值。 - `type(2:m)`:右连接(right join),保留第二个数据集中所有观测值,同时将第一个数据集中匹配到的观测值合并进去,没有匹配到的变量为缺失值。 - `type(1:1)`:完全匹配连接(exact match join),只保留两个数据集中完全匹配的观测值。 4. 指定共同的变量。`merge`命令默认使用所有变量作为匹配条件,如果需要指定特定的变量作为匹配条件,可以使用`merge`命令的`on`选项,例如: ``` merge 1: 数据集1的文件路径和名称 2: 数据集2的文件路径和名称 on 变量名称 ``` 如果要使用多个变量进行匹配,可以在`on`选项中列出所有变量名称,用空格隔开。 5. 检查合并结果。合并完成后,可以使用`browse`或`list`等命令查看合并后的数据集,确认是否正确合并。如果有缺失值或其他问题,可以使用`merge`命令的`check`选项和`force`选项进行修正。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值