%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的情况相同呢 ?请高手解决,谢谢!