costmanagement 发表于 2011-5-1 21:09
用了这个命令,问题是最后合并的个数多于dat1,小于dat2。我需要的个数是与dat1一样的。
cash中有(对于各变量完全相同的)重复观测值:共有100个观测值涉及重复;
name1中无重复观测值。
去除cash中的重复观测值后,cash共有1900个观测值;name1共有1000个观测值。
其中,对于number与date的观测值而言,cash与name1共有的(可匹配的)观测值有608个;仅cash有的观测值1292个;仅name1有的观测值392个。
你要舍弃仅cash有的1292个观测值吗?
use cash,clear
duplicates drop
joinby number date using name1, unm(u)
recode cash(.=0)
本题其实是一个很简单的问题:cash有重复观测值。然而,如果不给出完整的数据库,(仅就楼主最初给的数据而言)这一问题是无法发现与解决的。
如果楼主一开始就把完整的数据库给出来,并说明:要按(两数据库共有的)某些关键变量匹配合并两数据库,且去除仅某库具有的不匹配观测值,就不必费这么大周折了。