SAS中文论坛

标题: 请教以下程序的解释 [打印本页]

作者: shiyiming    时间: 2006-3-24 10:25
标题: 请教以下程序的解释
data a;
set fdata.a1a0001;
obs=_n_;
data b;
do n=3,5,7,4;
set a point=n;   /*读入数据集a中的第3,5,7,4观测 */
if _error_=1 then abort;
output;
end;
stop; /*使用选项point=时,经常要用stop语句来终止data步的执行*/
proc print;
run;

请问 obs=_n_;
     if _error_=1 then abort;
      这两句是什么意义啊?
作者: shiyiming    时间: 2006-3-24 16:38
标题: 已经明白啦!
if _error_=1 then abort;
表示当遇到的n不是3,5,7,4时,就中断输出,即只输出上述序号的记录。
作者: shiyiming    时间: 2006-3-24 17:47
标题: to sasfans
_n_是一个自动变量,他的值表示这个DATA步已经执行的次数。
这里的if _error_=1 then abort; 应该表示如果数据读入有错误,则退出这个DATA步。即便不加这一句,也只输入四个编号的观测。
作者: shiyiming    时间: 2006-3-25 01:12
标题: to maurice
哦!原来是这样!谢谢!




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2