标题: 请教以下程序的解释 [打印本页] 作者: 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 哦!原来是这样!谢谢!