全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2119 5
2010-03-02
%macro dw;
%do j=1 %to 3;
data a&j;
do i=1 to 2;
x=uniform(1)*2;
u=normal(0)*2;
y=2+.6*x+u;
output;
drop i;
end;
proc append base=e force;
%end;
%mend dw;
%dw;
proc print;run;
这个程序 是建立三个数据集,分别为 A1\A2\A3,然后将三个数据集纵向合并形成数据集E.但问题在变量U上,当变量X中的种子选择为1时,变量U的种子设置为0时,U的取值在数据集A1\A2\A3内的两个观测不同,但在数据集A1\A2\A3中完全相同,按照种子去0,应该随时间而改变,在三个数据集中是不同的,但为什么相同呢 ,如果将程序中变量X的种子也设置为0,则U的结果在三个数据集中式不同的, 这点不难理解的 。如果都将种子改为1,则结果应该在三个数据集中式相同的,程序的结果也是这样的。现在的 问题是为什么程序中的情况和种子都为1的情况相同呢 ?请高手解决,谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-3-2 20:40:27
retain seed 0;
call rannor(seed,u);不知道你要问什么啊,就胡乱答一个吧:)
二维码

扫码加我 拉你入群

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

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

2010-3-2 23:04:00
harlon1976 发表于 2010-3-2 20:06
%macro dw;
%do j=1 %to 3;
data a&j;
do i=1 to 2;
x=uniform(1)*2;
u=normal(0)*2;
y=2+.6*x+u;
output;
drop i;
end;
proc append base=e force;
%end;
%mend dw;
%dw;
proc print;run;
这个程序 是建立三个数据集,分别为 A1\A2\A3,然后将三个数据集纵向合并形成数据集E.但问题在变量U上,当变量X中的种子选择为1时,变量U的种子设置为0时,U的取值在数据集A1\A2\A3内的两个观测不同,但在数据集A1\A2\A3中完全相同,按照种子去0,应该随时间而改变,在三个数据集中是不同的,但为什么相同呢 ,如果将程序中变量X的种子也设置为0,则U的结果在三个数据集中式不同的, 这点不难理解的 。如果都将种子改为1,则结果应该在三个数据集中式相同的,程序的结果也是这样的。现在的 问题是为什么程序中的情况和种子都为1的情况相同呢 ?请高手解决,谢谢!
Regardless of what you have thought about the random number, generating random numbers is nothing more than ...
Sorry, POOR my English!

二维码

扫码加我 拉你入群

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

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

2010-3-3 07:51:30
1# harlon1976

我想使X在三个数据集中相同,
复制代码
二维码

扫码加我 拉你入群

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

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

2010-3-3 09:58:35
[quote]jingju11 发表于 2010-3-3 07:51
1# harlon1976

[quote]
我想使X在三个数据集中相同,
复制代码
二维码

扫码加我 拉你入群

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

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

2010-3-3 21:22:52
谢谢楼上兄弟的帮助,我通过使用IML中的NORMAL也可以解决。各位都是好人啊!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群