先合并了A和B两个table,得到tableC。
有一个variable a(就是一列变量)是只有tableA里面有的,B里面没有,这样的话,如果我对C用一个if var a=. then delete的命令的话,那么新的C的observation个数应该和原来A的个数一样吧?
但是事实上是新C的observation个数小于旧C的,大于A的。。。。
无语了,我刚刚还画了半天韦氏图。。。
这个是我为了简化观察,自己举了个例子(实际数据库比较大型),这个得到的结果是对的。最后dd的观测值就是5个。但是我那个大型数据的观察值结果就是如上所述了。。。
Table A
company fyear profit governance
A 2001 111 1
A 2002 113 0
B 2001 222 0
B 2002 223 0
C 2001 221 1
Table B
company fyear happy
A 2001 111
A 2002 113
C 2001 222
C 2002 223
D 2001 221
data a;
input company $ fyear profit governance;
cards;
A 2001 111 1
A 2002 113 0
B 2001 222 0
B 2002 223 0
C 2001 221 1
;
run;
data b;
input company $ fyear happy;
cards;
A 2001 111
A 2002 113
C 2001 222
C 2002 223
D 2001 221
;
run;
proc sort data=a out=aa;
by company fyear;
run;
proc sort data=b out=bb;
by company fyear;
run;
data cc;
merge aa bb;
by company fyear;
run;
data dd;
set cc;
if governance=. then delete;
run;