楼主: limuqi
2261 2

[问答] 数组元素update [推广有奖]

  • 1关注
  • 2粉丝

本科生

27%

还不是VIP/贵宾

-

威望
0
论坛币
464 个
通用积分
0.0600
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
838 点
帖子
57
精华
0
在线时间
54 小时
注册时间
2011-8-2
最后登录
2016-1-5

10论坛币
我有一组数据a;含有 value 和 date两组数据
  1. data a;
  2.    input value date;
  3.    datalines;
  4. 2 1
  5. 3 1
  6. 4 1
  7. 10 1
  8. 3 2
  9. 5 2
  10. 6 2
  11. 8 2
  12. 11 3
  13. 13 3
  14. 8 3
  15. 7 3
  16. ;
复制代码
我希望 如果有value>=10, 如果date相同, 所有value都变为空值"."; 否则value 不变
这样 a的结果应该是
. 1
. 1
. 1
. 1
3 2
5 2
6 2
8 2
. 3
. 3
. 3
. 3
想请教该怎么实现

最佳答案

bobguy 查看完整内容

Use double set statements will do it. It is much simpler than you thought. data a; input value date; datalines; 2 1 3 1 4 1 10 1 3 2 5 2 6 2 8 2 11 3 13 3 8 3 7 3 ; data t2; retain maxv .; do until(last.date); set a; by date; if first.date then maxv=.; maxv=max(maxv,value); end; do unt ...
关键词:update date PDA ATE upd 希望 update 元素

回帖推荐

bobguy 发表于2楼  查看完整内容

Use double set statements will do it. It is much simpler than you thought. data a; input value date; datalines; 2 1 3 1 4 1 10 1 3 2 5 2 6 2 8 2 11 3 13 3 8 3 7 3 ; data t2; retain maxv .; do until(last.date); set a; by date; if first.date then maxv=.; maxv=max(maxv,value); end; do unt ...
沙发
bobguy 发表于 2012-8-23 03:16:46 |只看作者 |坛友微信交流群
Use double set statements will do it. It is much simpler than you thought.

    data a;
       input value date;
       datalines;
    2 1
    3 1
    4 1
    10 1
    3 2
    5 2
    6 2
    8 2
    11 3
    13 3
    8 3
    7 3
    ;

data t2;
  retain maxv .;
  do until(last.date);
    set a;
        by date;
        if first.date then maxv=.;
        maxv=max(maxv,value);
  end;
  do until(last.date);
  set a;
  by date;
    if maxv >=10 then value=.;
        else;
        output;
  end;
  run;

  proc print;run;
已有 3 人评分学术水平 热心指数 信用等级 收起 理由
zhentao + 1 + 1 + 1 学习了。
ziyenano + 1 + 1 + 1 观点有启发
webgu + 1 + 1 + 1 观点有启发

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

使用道具

藤椅
limuqi 发表于 2012-8-24 02:33:34 |只看作者 |坛友微信交流群
bobguy 发表于 2012-8-23 03:16
Use double set statements will do it. It is much simpler than you thought.

    data a;
非常有效,运行速度非常快,谢谢

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 19:21