楼主: mzb1113
2972 7

sas代码求一组实数中大于0的最小值 [推广有奖]

  • 0关注
  • 0粉丝

本科生

64%

还不是VIP/贵宾

-

威望
0
论坛币
14 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1682 点
帖子
74
精华
0
在线时间
121 小时
注册时间
2008-8-5
最后登录
2020-5-25

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
例如,现有一组数据-2,-1,0,1,2,求大于0的数据中的最小值,即1,sas代码怎么写?谢谢
二维码

扫码加我 拉你入群

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

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

关键词:sas代码 最小值

不知道

使用道具

藤椅
苹果叶 在职认证  发表于 2015-6-30 16:48:34 |只看作者 |坛友微信交流群
  1. data _null_;
  2.   array numberlist(7) _temporary_ (5, -2, -1, 0, 1, 2, -1);
  3.   do i=1 to dim(numberlist)-1;
  4.     if 0<numberlist(i)<=numberlist(i+1) then min=numberlist(i);
  5.         else if 0<numberlist(i+1) then min=numberlist(i+1);
  6.   end;
  7.   if min > 0 then put "Minimum is " min;
  8.   else put "Error";
  9. run;
复制代码

使用道具

板凳
mzb1113 发表于 2015-6-30 17:00:11 |只看作者 |坛友微信交流群
苹果叶 发表于 2015-6-30 16:48
谢谢你的回复,不过你的代码运营结果不是我想要的结果,我是要找大于0的数中(例子中的1,2)的最小值(例子中的1),即运行结果要是1,而且把结果赋值给新变量

使用道具

报纸
苹果叶 在职认证  发表于 2015-6-30 17:03:46 |只看作者 |坛友微信交流群
mzb1113 发表于 2015-6-30 17:00
谢谢你的回复,不过你的代码运营结果不是我想要的结果,我是要找大于0的数中(例子中的1,2)的最小值(例 ...
刚刚看错了,以为是最大值,现在呢?新变量就是min, 你把_null_ 换成其他名字就可以看得到

使用道具

地板
wsddzr 发表于 2015-6-30 17:26:52 |只看作者 |坛友微信交流群
这样可以吗,我也是初学者 - -
  1. data test;
  2. input x;
  3. cards;
  4. -2
  5. -1
  6. 0
  7. 1
  8. 2
  9. run;

  10. proc sql;
  11. select min(x) as min_x  from test where x>0;
  12. quit;
复制代码

使用道具

7
mzb1113 发表于 2015-7-2 12:51:32 |只看作者 |坛友微信交流群
wsddzr 发表于 2015-6-30 17:26
这样可以吗,我也是初学者 - -
这个可以,谢谢

使用道具

  1. options mprint mlogic symbolgen;
  2. %let a=-2,-1,0,1,2;
  3. %let want=;
  4. %macro min;
  5. data a;
  6.     array a[*] x1-x5  (&a) ;
  7.     do i= 1 to dim(a);
  8.         if a[i]>0 then do;
  9.             rc=dosubl(cat('%let want= &want. ',i,";"));
  10.             count+1;
  11.         end;
  12.         call symput("n",count);
  13.     end;
  14. run;
  15. data aa;
  16.     set a;
  17.     keep  
  18.     %do i = 1 %to &n;
  19.      %let want&i=%scan(%str(&want),&i," ");
  20.       x&&want&i.
  21.     %end;
  22.     ;
  23. run;
  24. data want(keep=want);
  25.     set aa;
  26.     want=min(of x:);
  27. run;
  28. %mend ;
  29. %min
复制代码

使用道具

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

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

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

GMT+8, 2024-4-19 11:53