设置不同的样本量10 20 50 100,分别抽样2000次,假设每个样本的总体相关系数为0,来探究
影响样本中变量间相关系数变化的原因
LIBNAME CORR 'C:\Users\Administrator\Desktop';
%LET NO_SMPL=2000;   *** 记录每类样本大小情况下,其随机样本个数的宏变量;
 
%MACRO CORR_RDM;
%DO A = 1 %TO 4;          *** 四类样本大小情况: 10, 20, 50, 100;
  %IF &A=1 %THEN %DO; %LET SMPLSIZE=10;  %END;
  %IF &A=2 %THEN %DO; %LET SMPLSIZE=20;  %END;
  %IF &A=3 %THEN %DO; %LET SMPLSIZE=50;  %END;
  %IF &A=4 %THEN %DO; %LET SMPLSIZE=100; %END;
 
%DO B=1 %TO &NO_SMPL;   ***每类样本大小情况下,生成&NO_SMPL个随机样本;
 
DATA DAT;               ***生成两个随机变量,其相关性为零;
  DO I=1 TO &SMPLSIZE;
    X=RANNOR(0);
    Y=RANNOR(0);
    OUTPUT;
  END;run;
PROC CORR DATA=DAT NOPRINT OUT=PEARSON;  ***对每个随机样本,计算两个变量的相关系数,并保存在数据集PEARSON中;
  VAR X Y;
RUN;
DATA PEARSON1; SET PEARSON; ***将刚才得到的相关系数数据集增加样本大小这个变量;
  SMPLSIZE=&SMPLSIZE;
  IF _NAME_='X';
  CORR=Y;
  KEEP CORR SMPLSIZE; ***仅保留相关系数和样本大小两个变量;
PROC APPEND BASE=CORR.COR_RDM; ***将得到的相关系数和样本大小的数据集全部放入CORR.COR_RDM数据集中;
%END;
%END;
%MEND CORR_RDM;
%CORR_RDM;
RUN; QUIT;
本人的运行结果怎么又26116条记录,而不是8000条记录呢,求各位大神指导