edumetric 发表于 2011-4-4 17:32 
试试下面的语句可以吗。
DATA yourdata;
SET yourdata;
grpind=ranuni(123); /**** 生成随机分布变量 ****/
run;
data yourdata1 yourdata2;
set yourdata;
if grpind>=.80 then output yourdata1;
if grpind
这样的确可以,但是不严格。因为这样只能保证每条记录有80%的概率被选入yourdata2,20%的概率被选入yourdata1,却不能保证yourdata1的记录数恰好为总数的20%,yourdata2的记录数恰好为总数的80%。不知道楼主的真实意图是什么。
仔细想了想,还是应该取随机数,然后对随机数排序,按照总数的前20%来拆分数据集可能更符合后一种理解。