全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1408 9
2011-07-22
怎样让一行不同的观测值和其中的一个观测值进行比较呢?多谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2011-7-22 07:27:04
我想把要比较的那个数据写成一行,但是因为要写在data step里,所以不能用proc sql. 应该怎么做呢?
二维码

扫码加我 拉你入群

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

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

2011-7-22 07:30:49
而且要比较的数据,只知道它的位置,不知道它具体是多大。而且这个位置肯定不在第一个,所以不能用retain。因为后面的运算,所以我也不想把它proc sort descending,我该怎么办呢?
二维码

扫码加我 拉你入群

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

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

2011-7-22 07:32:28
1# magneticnana
首先想到的用if ... then...; else...;


您的问题:
是同一个变量的不同值的比较,
还是不同变量的不同值的比较?。

我理解不管是哪种都可以用条件语句的。
二维码

扫码加我 拉你入群

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

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

2011-7-22 07:53:43
4# priss111
我是想把一个数据集按照date分开,因为总数据集很大,所以我想保证数据集的行数不大于60000,而且同一天的数据在一个数据集上。
我的逻辑是先找到第60001个数据对应的日期,然后根据这个日期把数据集分开。
data zn.data1 zn.data2;
set zn.final;
index=_n_;
if index=60001 then m=date;
if date<m then output zn.data1;  
if date<m then delete;
if =60001 then m=date;
if m=. then m=0;
if date<m then output zn.data2;
if date<m then delete;
run;
上面的代码有错,m不是完整的一行数据,我现在就想得到一行数据,等于m的值。(m就是第60001个数据对应的日期)
多谢拉
二维码

扫码加我 拉你入群

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

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

2011-7-22 08:15:17
若果仅仅是将前6000个观察分为一个数据,其他的另一个数据的话。不用找到m吧,直接这样
复制代码
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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