SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 543|回复: 3
打印 上一主题 下一主题

请教以下程序的解释

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2006-3-24 10:25:26 | 只看该作者

请教以下程序的解释

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;
      这两句是什么意义啊?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2006-3-24 16:38:35 | 只看该作者

已经明白啦!

if _error_=1 then abort;
表示当遇到的n不是3,5,7,4时,就中断输出,即只输出上述序号的记录。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2006-3-24 17:47:55 | 只看该作者

to sasfans

_n_是一个自动变量,他的值表示这个DATA步已经执行的次数。
这里的if _error_=1 then abort; 应该表示如果数据读入有错误,则退出这个DATA步。即便不加这一句,也只输入四个编号的观测。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2006-3-25 01:12:02 | 只看该作者

to maurice

哦!原来是这样!谢谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-9 18:36 , Processed in 0.071340 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表