楼主: lianghaiwang
1896 6

【求助】SAS计数器设置 [推广有奖]

  • 0关注
  • 0粉丝

已卖:156份资源

硕士生

45%

还不是VIP/贵宾

-

威望
0
论坛币
287 个
通用积分
0.0701
学术水平
9 点
热心指数
19 点
信用等级
7 点
经验
2613 点
帖子
110
精华
0
在线时间
168 小时
注册时间
2010-5-19
最后登录
2024-8-20

楼主
lianghaiwang 发表于 2013-6-19 15:25:05 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
Q:原程序是这样的,把18个数据输入到Num中。现在我想对这个程序做一点修改,添加一个变量group,当输入个数小于8时,group值为1,当输入个数大于等于8时,group值为2。我希望就在这个数据步里通过设置一个计数器实现,不要用SAS里面的_N_。

data case5_1;
        input Num @@;
        cards;
        1014 684 810 990 840 978 1002 1110
        864  636  638  708  786  600  1320  750  594  750
        ;
run;
二维码

扫码加我 拉你入群

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

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

关键词:计数器 Group cards Input Data 计数器

沙发
zhengbo8 发表于 2013-6-19 15:30:13
  1. data case5_1;
  2.         input Num @@;
  3.         cards;
  4.         1014 684 810 990 840 978 1002 1110
  5.         864  636  638  708  786  600  1320  750  594  750
  6.         ;
  7. run;

  8. data a;
  9.         set case5_1;
  10.         retain i 0;
  11.         i=i+1;
  12.         if i<8 then group=1;
  13.         if i>=8 then group=2;
  14.         drop i;
  15. run;
复制代码

藤椅
lianghaiwang 发表于 2013-6-19 15:34:55
zhengbo8 发表于 2013-6-19 15:30
好的,明白了!我还有一个程序再问你一下啊。你看能不能教我一下。

板凳
zhengbo8 发表于 2013-6-19 15:37:27
问题在哪?

报纸
lianghaiwang 发表于 2013-6-19 15:38:10
zhengbo8 发表于 2013-6-19 15:30
现在有两列数据X和Y。X是无序的。现在想找出那些X变小的观测。例如X=10的下一个观测是X=6,那么新的数据集就把X=6这个观测写进来。
x    y
1   10
3   20
10  30
6   40
7   50
8   60
2   70
4   80
5   90
3   100
2   110
1   120
最后的结果是
x   y
6   40
2   70
3   100
2   110
1   120
请问如何用SAS程序实现呢?

地板
zhengbo8 发表于 2013-6-19 15:46:43
lianghaiwang 发表于 2013-6-19 15:38
现在有两列数据X和Y。X是无序的。现在想找出那些X变小的观测。例如X=10的下一个观测是X=6,那么新的数据集 ...
  1. data a;
  2. input x y;
  3. datalines;
  4. 1   10
  5. 3   20
  6. 10  30
  7. 6   40
  8. 7   50
  9. 8   60
  10. 2   70
  11. 4   80
  12. 5   90
  13. 3   100
  14. 2   110
  15. 1   120
  16. ;
  17. run;

  18. data result;
  19.         set a;
  20.         if x<lag(x);
  21. run;
复制代码
已有 1 人评分经验 论坛币 学术水平 热心指数 收起 理由
Imasasor + 100 + 100 + 4 + 3 鼓励积极发帖讨论

总评分: 经验 + 100  论坛币 + 100  学术水平 + 4  热心指数 + 3   查看全部评分

7
Imasasor 发表于 2013-6-19 17:38:03
data case5_1(drop=n);
        input Num @@;
                n+1;
                if n<8 then group=1;
                else group=2;
        cards;
        1014 684 810 990 840 978 1002 1110
        864  636  638  708  786  600  1320  750  594  750
        ;
run;
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 02:57