SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

12
返回列表 发新帖
楼主: shiyiming
打印 上一主题 下一主题

如何把产生的各种随机数值赋给一个宏变量

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
11#
 楼主| 发表于 2011-4-3 10:02:57 | 只看该作者

Re: 如何把产生的各种随机数值赋给一个宏变量

本人还有一些问题,就是在产生有些随机数时,要涉及到对seed的取值,不清楚在各种情况下seed该如何取值,这是其一。
第二个就是对call symput 与call symputx的一些区别不是很清楚! 请大侠们指点迷津!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
12#
 楼主| 发表于 2011-4-6 13:18:45 | 只看该作者

Re: 如何把产生的各种随机数值赋给一个宏变量

继续哭等,继续观望!!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
13#
 楼主| 发表于 2011-4-7 21:07:57 | 只看该作者

Re: 如何把产生的各种随机数值赋给一个宏变量

[quote="天性爱好者":d1ms0mrg]本人还有一些问题,就是在产生有些随机数时,要涉及到对seed的取值,不清楚在各种情况下seed该如何取值,这是其一。
第二个就是对call symput 与call symputx的一些区别不是很清楚! 请大侠们指点迷津!![/quote:d1ms0mrg]


依,看来还要继续等待哦!!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
14#
 楼主| 发表于 2011-4-10 01:40:30 | 只看该作者

Re: 如何把产生的各种随机数值赋给一个宏变量

京剧兄真是data step的高手,有八分当年data _null_ 大师的风采。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
15#
 楼主| 发表于 2011-4-10 08:54:45 | 只看该作者

Re: 如何把产生的各种随机数值赋给一个宏变量

call symputx与call symput好像没多大的区别,目前我知道的就只有消除空格的影响,前一个symputx能消除后面参数的左右空格,而symput只能消除右空格!!
如:测试代码(下)
data _null_;
set sashelp.class nobs=obs;
call symputx('m1',obs);
call symput('m2',obs);
Stop;
run;
%put &m1.;
%put &m2.;

data test&m1.;
x=1;
run;
data test&m2.;
x=1;
run;
程序运行结果test&m2.会报错,查看日志会发现会在&m2.解析后左边有很多空格。造成数据集的名字,没有达到效果。不知道大侠们还知道其它的一些区别不?

现在问题只剩下一个了,那就是如何对seed取值,有什么诀窍之类的,平时在用seed产生随机数时都是任意取的!取seed的0时是最多的,完全没根据的取值,
有哪位大侠能举例说明一下么!!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
16#
 楼主| 发表于 2011-4-10 09:21:24 | 只看该作者

Re: 如何把产生的各种随机数值赋给一个宏变量

种子尽量取较大值
参见这篇解释:

<!-- m --><a class="postlink" href="http://www.sascommunity.org/wiki/How_the_SAS_Random_Number_Generators_Work">http://www.sascommunity.org/wiki/How_th ... ators_Work</a><!-- m -->

应该不需要翻墙
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
17#
 楼主| 发表于 2011-4-10 09:37:10 | 只看该作者

Re: 如何把产生的各种随机数值赋给一个宏变量

[quote=&quot;oloolo&quot;:2bw8r3xs]种子尽量取较大值
参见这篇解释:

<!-- m --><a class="postlink" href="http://www.sascommunity.org/wiki/How_the_SAS_Random_Number_Generators_Work">http://www.sascommunity.org/wiki/How_th ... ators_Work</a><!-- m -->

应该不需要翻墙[/quote:2bw8r3xs]

谢谢oloolo了!!
确实有难度,之前没有看过这类国外版之类的文章,正在寻求翻译!!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-11 09:48 , Processed in 0.076591 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表