全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3011 8
2012-10-11
SAS每次读入内存只是一行数据,但如果条件判断需要根据前面几行和后面几行进行判断,这时候后面几行数据还未读入,请问怎么预读?
请高手指导,非常感谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-10-11 17:42:03
我觉得读前面几行是不太可以操作的吧,但用lag,retain之类的可以实现对后面几行的操作吧,具体的你可以看一下sas的help文件
二维码

扫码加我 拉你入群

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

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

2012-10-12 07:48:34
You need to post your question in details with sample data.
二维码

扫码加我 拉你入群

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

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

2012-10-12 14:02:11
谢谢楼上两位。让我提供一个例子做参考,请继续指导。
一排产品需要做测试,但为了节省测试机器,只需要采样其中部分产品。采样逻辑是这样的:同一排如果一个产品,其邻近左边或者右边的产品有测试,则该产品不用采样;同一排如果一个产品,邻近产品没有测试,但邻近隔一个左边和右边的产品有测试,则该产品不用采样。

按照这个逻辑,数据模拟采样,如下表B列所示。

现在我的问题是:要从A列根据上面逻辑得到B列,需要根据上下多行判断,而SAS可以retain上面N行,却没有读到下面N行,那应该如何实现呢?
(一个方法是把这些行转成一行,但我想寻找不用转行列的方法)


        A        B
1        Exist        Test
2        Scrap        
3        Exist        Skip
4        Exist        Test
5        Exist        Skip
6        Exist        Skip
7        Exist        Skip
8        Exist        Test
9        Exist        Skip
10        Scrap        
11        Scrap        
12        Exist        Test
13        Exist        Skip
14        Scrap        
15        Exist        Skip
16        Exist        Test
17        Exist        Skip
18        Scrap        
二维码

扫码加我 拉你入群

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

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

2012-10-15 14:29:01
在proc expand中有一个lead算子,可以实现对后n条观测的操作。具体楼主可以看help
二维码

扫码加我 拉你入群

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

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

2013-1-17 14:27:28
同问. 但之前我的解决办法是用lag, lagn函数
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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