如图,小伙伴们注意在stata 14 中 对于Help merge文档中,options中assert的用法,我画红线这里是有问题的,应该是not allow 而不是allow
这里的意思是 :使用 assert(match master)
指定合并文件必须仅包含匹配的/主数据观测值或使用数据中的观察值/和/未匹配的主数据观察结果,并且不得包含未匹配的使用数据集中的观察结果。指定 assert()
会导致合并操作在您允许的观察结果中存在匹配结果时出现错误。
应该的意思是:指定 assert()
会导致合并操作在您未明确允许的变量,存在匹配结果时,发出错误消息。
官网最新的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 的那一行给删除,此时“在未允许的条件下,假如匹配有匹配结果,就会出现错误”,所以此时就会报错,所以就不会发生匹配。
标签:匹配,14,assert,merge,id,match,help From: https://blog.csdn.net/m0_57202121/article/details/136948175