全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4998 6
2015-03-25
求教各位,上图上的结果,为什么会是这样的?
附件列表
}A0(E~A[223ULUP9XFSPY5D.jpg

原图尺寸 73.3 KB

}A0(E~A[223ULUP9XFSPY5D.jpg

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-3-26 09:26:22
应该是这样:
data loop1:_n_=1, 读取数据集第一条;执行到RUN;时输出到数据集a;
data loop2:_n_=2, PDV中,来自数据集的变量不会被置为空值;
                 IF条件不满足,不会读取记录,此时PDV中还是第一条记录的变量值;
                 执行到RUN;输出到数据集;
                 由于这个data loop中SAS没有读取数据,因此“DATA STEP stopped due to looping.”
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-3-26 15:06:03
pobel 发表于 2015-3-26 09:26
应该是这样:
data loop1:_n_=1, 读取数据集第一条;执行到RUN;时输出到数据集a;
data loop2:_n_=2,  ...
楼上,你理解的应该是对的,这个问题也困惑过我好久
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-3-26 15:11:52
楼上举得例子会得到2条一样的记录,在实际中可能不需要,刻意该做:
data test;
        if _N_ = 1 then do;
      set sashelp.class;
          output;
          stop;
        end;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-1 18:29:15
pobel 发表于 2015-3-26 09:26
应该是这样:
data loop1:_n_=1, 读取数据集第一条;执行到RUN;时输出到数据集a;
data loop2:_n_=2,  ...
非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-4-2 09:58:00
pobel 发表于 2015-3-26 09:26
应该是这样:
data loop1:_n_=1, 读取数据集第一条;执行到RUN;时输出到数据集a;
data loop2:_n_=2,  ...
你好!比如我们知道class这里面的数据集有19个观测,那么为什么当写_n_<=20的时候就可以正好显示这19个人而不会在最后有重复呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群