楼主: 一眼瞬间
2226 8

怎么把一个值设成sample minimum? [推广有奖]

  • 0关注
  • 1粉丝

讲师

50%

还不是VIP/贵宾

-

威望
0
论坛币
730 个
通用积分
0.0001
学术水平
0 点
热心指数
4 点
信用等级
0 点
经验
903 点
帖子
376
精华
0
在线时间
309 小时
注册时间
2010-3-14
最后登录
2023-8-19

楼主
一眼瞬间 发表于 2010-9-29 08:48:37 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
就是有时候取log函数的时候,值为为0,这样就不好求log了。

所以需要当值是0的时候就设置成sample minimum,不知道怎么处理呢?

谢谢了。
二维码

扫码加我 拉你入群

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

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

关键词:minimum Sample Mini AMPL amp Sample minimum

回帖推荐

hopewell 发表于8楼  查看完整内容

解读下教授的论述,希望是对的

本帖被以下文库推荐

沙发
soporaeternus 发表于 2010-9-29 09:12:14
不知道具体sample minimum的取法是什么?
样本最小值?把它求出来,扔在&sam_min里
然后log(ifn(x^0,x,&sam_min))
不知道可不可以,希望对你有帮助
Let them be hard, but never unjust

藤椅
liudeng2005 发表于 2010-9-29 09:30:10
教授是消防员?
我就是我@!

板凳
一眼瞬间 发表于 2010-9-29 13:12:57
soporaeternus 发表于 2010-9-29 09:12
不知道具体sample minimum的取法是什么?
样本最小值?把它求出来,扔在&sam_min里
然后log(ifn(x^0,x,&sam_min))
不知道可不可以,希望对你有帮助
高手啊,谢谢了!这个function好,学习了。

报纸
一眼瞬间 发表于 2010-9-29 13:33:00
soporaeternus 发表于 2010-9-29 09:12
不知道具体sample minimum的取法是什么?
样本最小值?把它求出来,扔在&sam_min里
然后log(ifn(x^0,x,&sam_min))
不知道可不可以,希望对你有帮助
在弱问一句,如果要求sample中去掉零的,最小的值,有没有比较直接的做法(note:sample中该variable的值大于等于零)? MIN(   ),要表示所有observation的该变量的最小值,括号里面的argument应该是什么呢?

谢谢了!!!

地板
一眼瞬间 发表于 2010-9-29 13:58:12
手动算一个min出来再带进去?

7
soporaeternus 发表于 2010-9-29 14:17:16
我的意思是对你的sample算一个符合条件(例如非零)的min值,把这个值赋给一个宏变量
然后再做操作

具体做非零的最小值的方法,你可以用sql的where语句来限,或者别的方法
Let them be hard, but never unjust

8
hopewell 发表于 2010-9-29 14:23:35
解读下教授的论述,希望是对的
  1. data raw;
  2.     input x @@;
  3. datalines;
  4. 1 2 . 0 5
  5. ;
  6. data _null_;
  7.     retain min_x;
  8.     set raw end=last;
  9.     if x gt 0 then min_x=min(min_x,x);
  10.     if last then call symputx('min_x1',min_x);
  11. run;
  12. %put NOTE: %str(&)min_x1=&min_x1;
  13. /*alternatively*/
  14. proc sql noprint;
  15.     select put(min(x),best8. -l) into :min_x2
  16.         from raw
  17.         where x gt 0;
  18. quit;
  19. %put NOTE: %str(&)min_x2=&min_x2;
  20. data out;
  21.     set raw;
  22.     y=log(ifn(x gt 0,x,&min_x1));
  23. run;
复制代码
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

9
一眼瞬间 发表于 2010-10-1 00:27:12
hopewell 发表于 2010-9-29 14:23
解读下教授的论述,希望是对的
  1. data raw;
  2.     input x @@;
  3. datalines;
  4. 1 2 . 0 5
  5. ;
  6. data _null_;
  7.     retain min_x;
  8.     set raw end=last;
  9.     if x gt 0 then min_x=min(min_x,x);
  10.     if last then call symputx('min_x1',min_x);
  11. run;
  12. %put NOTE: %str(&)min_x1=&min_x1;
  13. /*alternatively*/
  14. proc sql noprint;
  15.     select put(min(x),best8. -l) into :min_x2
  16.         from raw
  17.         where x gt 0;
  18. quit;
  19. %put NOTE: %str(&)min_x2=&min_x2;
  20. data out;
  21.     set raw;
  22.     y=log(ifn(x gt 0,x,&min_x1));
  23. run;
复制代码
yes,yes!
It works!
Thanks hopewell and thank professor again:)

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 16:12