stata 14中help merge 文档中的assert错误修正

文章讨论了Stata14中Helpmerge文档关于assert选项的误解,指出在assert(matchmaster)中,正确的用法应为notallow,防止在合并过程中出现未允许的匹配结果导致错误。作者通过实例解释了assert作为检验器的作用和为何在不明确允许匹配时会报错。
摘要由CSDN通过智能技术生成

如图,小伙伴们注意在stata 14 中 对于Help merge文档中,options中assert的用法,我画红线这里是有问题的,应该是not allow 而不是allow

一些名词解释:

主数据集:现在使用的数据集,原本的基底数据集

使用数据集:想要合并过来的数据集,外来的数据集

这里的意思是(核心是最后一句话) :使用 assert(match master) 指定合并文件必须仅包含 匹配的  主数据集观测值或使用数据集中的观测值  和   未匹配的主数据集观察结果,并且不得包含未匹配的使用数据集中的观察结果。指定 assert() 会导致合并操作时,在您允许的观察结果中存在匹配结果时会出现错误(报错)。 

最后一句话应该的意思是:指定 assert() 会导致合并操作时,在您未明确允许的匹配结果存在时,发出错误消息。

这里的区别就是到底是allow还是not allow 

我还一直在纳闷,都允许的条件下存在匹配结果了,您还给人家报错?

原来就是stata 14 版本的help文档错了

官网最新的help文档可以佐证我的看法,如图:

怎么理解呢:help 一下assert 发现在merge 中 assert是一个检验器,就是检验要进行操作的数据是否符合它所指定的条件,假如不符合就不会进行merge操作;

举个例子 比如本来文件1 是id 1 2 3 总共3行 后面是姓名 a b c ,文件2 是id 1 2 两行 后面是成绩 x y 。这个时候假如merge ……assert(match)  ,这里match条件的意思是两边的id都得是匹配得上的,不会出现一边有一边没有的情况,但是这里出现了在文件1有id 3 文件2 没有 。因为merge本身这个命令呢不会把id3 的那一行给删除,此时“存在未允许的匹配结果,就会出现错误”,所以此时就会报错,所以就不会发生匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值