全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5342 29
2014-01-16
悬赏 2 个论坛币 已解决
各位大神,求助,数据类型如下:
W1CSUGP37%7C]6~4Y}{K)6Q.jpg

以t4为例
1.需要筛查t4减t1大于1且p4-p1大于3,t4减t2大于1且p4-p2大于3,t4减t3大于1且p4-p3大于3的数据,出现符合条件的数据时,建立新的变量X=1,后面的数据以此类推;
2.当出现符合该条件的数据时,建立一个新的变量(例:t4减t1大于1且p4-p1大于3 时,,Y=t1),但是因为数据中,符合条件的情况会出现好几次,可能会有好几个Y。
怎样才能尽量少建立变量,也使得程序更简练。
之前用的是非常笨的方法,就是把每个变量的比较都写出来,倒是不会出错,但是看着那近千页的程序,觉得自己傻到家了,求坛子里的大神赐教。本人只有金币两枚,聊表谢意。
下面的那张图不知道是怎么跑出来的,( ̄▽ ̄")
问题还是木有解决,if a(i)-a(j)>3 and b(i)-b(j)>1 then e+1;最佳答案 @梦想世界1 的程序中这一句应该是让第N个变量跟前面所有的比,同时要求每个都满足,而不是任意一次比较满足就挑出来,怎么改都不对,还有哪位大神有更好的意见吗?




ZIA)UEX~EZ%8SBR$%5SWJP9.jpg

原图尺寸 32.52 KB

ZIA)UEX~EZ%8SBR$%5SWJP9.jpg

最佳答案

梦想世界1 查看完整内容

举个小例子,你看下,数据集大的话你就改改参数吧。。。试下可行不 data raw; length p1 t1 p2 t2 p3 t3 p4 t4 8; input p1 t1 p2 t2 p3 t3 p4 t4; cards; 1 2 4 4 8 6 7 8 2 1 6 6 7 11 12 15 3 2 7 2 11 6 15 12 11 16 13 15 16 20 16 24 ; run; data a; array a(4) p1-p4; array b(4) t1-t4; array c(3) c2-c4; set raw; do i=2 to 4; e=0; do j=1 to i-1; if a(i)-a(j)>3 and b(i)-b ...
二维码

扫码加我 拉你入群

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

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

全部回复
2014-1-16 18:35:32
举个小例子,你看下,数据集大的话你就改改参数吧。。。试下可行不
data raw;
  length p1 t1 p2 t2 p3 t3 p4 t4 8;
        input p1 t1 p2 t2 p3 t3 p4 t4;
cards;
1 2 4 4 8 6 7 8
2 1 6 6 7 11 12 15
3 2 7 2 11 6 15 12
11 16 13 15 16 20 16 24
;
run;
data a;
        array a(4) p1-p4;
        array b(4) t1-t4;
        array c(3) c2-c4;
  set raw;

        do i=2 to 4;
          e=0;
          do j=1 to i-1;
                         if a(i)-a(j)>3 and b(i)-b(j)>1 then e+1;
                end;
                if e=i-1 then c(i-1)=b(i);
        end;
run;
二维码

扫码加我 拉你入群

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

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

2014-1-16 19:09:17
写个宏吧
二维码

扫码加我 拉你入群

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

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

2014-1-16 19:10:39
数据集或源数据,附件。
可能会有好几个Y。是指Y1、Y2、……;还是Y有多个观测值?
二维码

扫码加我 拉你入群

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

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

2014-1-17 08:06:46
龙潭丰乐 发表于 2014-1-16 19:09
写个宏吧
就是不会写宏,现在还在临时学。。。
二维码

扫码加我 拉你入群

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

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

2014-1-17 08:09:25
zhengbo8 发表于 2014-1-16 19:10
数据集或源数据,附件。
可能会有好几个Y。是指Y1、Y2、……;还是Y有多个观测值?
因为一个记录多次比较之后,可能其中有几次是符合条件的,这个时候需要知道是哪几次的。所以我考虑建立新的变量,把每次符合条件的时候的tn的值记录下来。好像说绕了。。。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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