m3.rar
(22.43 KB)
本附件包括:
我是用do语句来做的,思路是先选一个样本,按年度与配对数据集合并,再在这个数据集中用if语句实现配对。附件中是一个样本已按年度合并后的数据集,各项数据:股票代码stkcd、行业代码indu1(制造业取前两位)、行业代码indu2(全部都取第1位)、roa。
配对过程是这样的:我试着编写了以下程序,但运行后发现:找到满足条件的样本后,程序并未转至结尾,而是顺序执行后面的语句,由于配对条件是一个比一个条件松,因此最终似乎只留下最后一个条件的配对结果。如何使程序在找到满足条件的样本后即结束?请高手指点。
data m4; set m3;
if sindu=mindu and sindu1=mindu1 and 0.9*roa1<=roa2<=1.1*roa1 then do; where sindu=mindu and 0.9*roa1<=roa2<=1.1*roa1;
end;
else if sindu~=mindu and sindu1=mindu1 and 0.9*roa1<=roa2<=1.1*roa1 then do; where sindu~=mindu and sindu1=mindu1 and 0.9*roa1<=roa2<=1.1*roa1;
end;
else if sindu~=mindu and sindu1~=mindu1 and 0.9*roa1<=roa2<=1.1*roa1 then do; where sindu~=mindu and sindu1~=mindu1 and 0.9*roa1<=roa2<=1.1*roa1;
end;
else do; where sindu=mindu and t1<4; end;/*t1是按roa差的绝对值排完序的序号*/
run;



雷达卡


京公网安备 11010802022788号







